test_class.declarator: HOOK = new EditorHook(
              new IndexUpdateProvider(new PropertyIndexEditorProvider()))
test_class.modifier: private static final
test_class.original_string: private static final EditorHook HOOK = new EditorHook(
              new IndexUpdateProvider(new PropertyIndexEditorProvider()));
test_class.type: EditorHook
test_class.var_name: HOOK
test_class.declarator: root = INITIAL_CONTENT
test_class.modifier: private
test_class.original_string: private NodeState root = INITIAL_CONTENT;
test_class.type: NodeState
test_class.var_name: root
test_class.declarator: builder = root.builder()
test_class.modifier: private
test_class.original_string: private NodeBuilder builder = root.builder();
test_class.type: NodeBuilder
test_class.var_name: builder
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdateTest.java
test_class.identifier: IndexUpdateTest
test_case.body: @Test
      public void testMissingProviderFailsCommit() throws Exception {
  
          final IndexUpdateCallback noop = new IndexUpdateCallback() {
              @Override
              public void indexUpdate() {
              }
          };
          final MissingIndexProviderStrategy mips = new MissingIndexProviderStrategy();
          mips.setFailOnMissingIndexProvider(true);
  
          EditorHook hook = new EditorHook(new EditorProvider() {
              @Override
              public Editor getRootEditor(NodeState before, NodeState after,
                      NodeBuilder builder, CommitInfo info)
                      throws CommitFailedException {
                  return new IndexUpdate(emptyProvider(), null, after, builder,
                          noop).withMissingProviderStrategy(mips);
              }
          });
  
          NodeState before = builder.getNodeState();
  
          createIndexDefinition(builder.child(INDEX_DEFINITIONS_NAME),
                  "rootIndex", true, false, ImmutableSet.of("foo"), null);
          builder.child(INDEX_DEFINITIONS_NAME).child("azerty");
          builder.child("testRoot").setProperty("foo", "abc");
          NodeState after = builder.getNodeState();
  
          try {
              hook.processCommit(before, after, CommitInfo.EMPTY);
              fail("commit should fail on missing index provider");
          } catch (CommitFailedException ex) {
              // expected
          }
      }
test_case.class_method_signature: IndexUpdateTest.testMissingProviderFailsCommit()
test_case.full_signature: @Test public void testMissingProviderFailsCommit()
test_case.identifier: testMissingProviderFailsCommit
test_case.invocations: setFailOnMissingIndexProvider withMissingProviderStrategy emptyProvider getNodeState createIndexDefinition child of child child setProperty child getNodeState processCommit fail
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testMissingProviderFailsCommit()
focal_class.declarator: log = LoggerFactory.getLogger(IndexUpdate.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(IndexUpdate.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: TYPE_ELASTICSEARCH = "elasticsearch"
focal_class.modifier: private static final
focal_class.original_string: private static final String TYPE_ELASTICSEARCH = "elasticsearch";
focal_class.type: String
focal_class.var_name: TYPE_ELASTICSEARCH
focal_class.declarator: IGNORE_REINDEX_FLAGS = Boolean
              .getBoolean("oak.indexUpdate.ignoreReindexFlags")
focal_class.modifier: static final
focal_class.original_string: static final boolean IGNORE_REINDEX_FLAGS = Boolean
              .getBoolean("oak.indexUpdate.ignoreReindexFlags");
focal_class.type: boolean
focal_class.var_name: IGNORE_REINDEX_FLAGS
focal_class.declarator: rootState
focal_class.modifier: private final
focal_class.original_string: private final IndexUpdateRootState rootState;
focal_class.type: IndexUpdateRootState
focal_class.var_name: rootState
focal_class.declarator: builder
focal_class.modifier: private final
focal_class.original_string: private final NodeBuilder builder;
focal_class.type: NodeBuilder
focal_class.var_name: builder
focal_class.declarator: parent
focal_class.modifier: private final
focal_class.original_string: private final IndexUpdate parent;
focal_class.type: IndexUpdate
focal_class.var_name: parent
focal_class.declarator: name
focal_class.modifier: private final
focal_class.original_string: private final String name;
focal_class.type: String
focal_class.var_name: name
focal_class.declarator: path
focal_class.modifier: private
focal_class.original_string: private String path;
focal_class.type: String
focal_class.var_name: path
focal_class.declarator: editors = newArrayList()
focal_class.modifier: private final
focal_class.original_string: private final List<Editor> editors = newArrayList();
focal_class.type: List<Editor>
focal_class.var_name: editors
focal_class.declarator: reindex = new HashMap<String, Editor>()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, Editor> reindex = new HashMap<String, Editor>();
focal_class.type: Map<String, Editor>
focal_class.var_name: reindex
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
focal_class.identifier: IndexUpdate
focal_class.interfaces: implements Editor, PathSource
focal_class.class_method_signature: IndexUpdate.IndexUpdate(
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback)
focal_class.full_signature: public  IndexUpdate(
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback)
focal_class.identifier: IndexUpdate
focal_class.modifiers: public
focal_class.parameters: (
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback)
focal_class.signature:  IndexUpdate(
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback)
focal_class.class_method_signature: IndexUpdate.IndexUpdate(
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback, CommitInfo commitInfo)
focal_class.full_signature: public  IndexUpdate(
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback, CommitInfo commitInfo)
focal_class.identifier: IndexUpdate
focal_class.modifiers: public
focal_class.parameters: (
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback, CommitInfo commitInfo)
focal_class.signature:  IndexUpdate(
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback, CommitInfo commitInfo)
focal_class.class_method_signature: IndexUpdate.IndexUpdate(
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback, NodeTraversalCallback traversalCallback,
              CommitInfo commitInfo, CorruptIndexHandler corruptIndexHandler)
focal_class.full_signature: public  IndexUpdate(
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback, NodeTraversalCallback traversalCallback,
              CommitInfo commitInfo, CorruptIndexHandler corruptIndexHandler)
focal_class.identifier: IndexUpdate
focal_class.modifiers: public
focal_class.parameters: (
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback, NodeTraversalCallback traversalCallback,
              CommitInfo commitInfo, CorruptIndexHandler corruptIndexHandler)
focal_class.signature:  IndexUpdate(
              IndexEditorProvider provider, String async,
              NodeState root, NodeBuilder builder,
              IndexUpdateCallback updateCallback, NodeTraversalCallback traversalCallback,
              CommitInfo commitInfo, CorruptIndexHandler corruptIndexHandler)
focal_class.class_method_signature: IndexUpdate.IndexUpdate(IndexUpdate parent, String name)
focal_class.full_signature: private  IndexUpdate(IndexUpdate parent, String name)
focal_class.identifier: IndexUpdate
focal_class.modifiers: private
focal_class.parameters: (IndexUpdate parent, String name)
focal_class.signature:  IndexUpdate(IndexUpdate parent, String name)
focal_class.class_method_signature: IndexUpdate.enter(NodeState before, NodeState after)
focal_class.full_signature: @Override public void enter(NodeState before, NodeState after)
focal_class.identifier: enter
focal_class.modifiers: @Override public
focal_class.parameters: (NodeState before, NodeState after)
focal_class.return: void
focal_class.signature: void enter(NodeState before, NodeState after)
focal_class.class_method_signature: IndexUpdate.isReindexingPerformed()
focal_class.full_signature: public boolean isReindexingPerformed()
focal_class.identifier: isReindexingPerformed
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isReindexingPerformed()
focal_class.class_method_signature: IndexUpdate.getReindexStats()
focal_class.full_signature: public List<String> getReindexStats()
focal_class.identifier: getReindexStats
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> getReindexStats()
focal_class.class_method_signature: IndexUpdate.getUpdatedIndexPaths()
focal_class.full_signature: public Set<String> getUpdatedIndexPaths()
focal_class.identifier: getUpdatedIndexPaths
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: Set<String>
focal_class.signature: Set<String> getUpdatedIndexPaths()
focal_class.class_method_signature: IndexUpdate.setTraversalRateEstimator(TraversalRateEstimator estimator)
focal_class.full_signature: public void setTraversalRateEstimator(TraversalRateEstimator estimator)
focal_class.identifier: setTraversalRateEstimator
focal_class.modifiers: public
focal_class.parameters: (TraversalRateEstimator estimator)
focal_class.return: void
focal_class.signature: void setTraversalRateEstimator(TraversalRateEstimator estimator)
focal_class.class_method_signature: IndexUpdate.setNodeCountEstimator(NodeCountEstimator nodeCountEstimator)
focal_class.full_signature: public void setNodeCountEstimator(NodeCountEstimator nodeCountEstimator)
focal_class.identifier: setNodeCountEstimator
focal_class.modifiers: public
focal_class.parameters: (NodeCountEstimator nodeCountEstimator)
focal_class.return: void
focal_class.signature: void setNodeCountEstimator(NodeCountEstimator nodeCountEstimator)
focal_class.class_method_signature: IndexUpdate.getIndexingStats()
focal_class.full_signature: public String getIndexingStats()
focal_class.identifier: getIndexingStats
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getIndexingStats()
focal_class.class_method_signature: IndexUpdate.setIgnoreReindexFlags(boolean ignoreReindexFlag)
focal_class.full_signature: public void setIgnoreReindexFlags(boolean ignoreReindexFlag)
focal_class.identifier: setIgnoreReindexFlags
focal_class.modifiers: public
focal_class.parameters: (boolean ignoreReindexFlag)
focal_class.return: void
focal_class.signature: void setIgnoreReindexFlags(boolean ignoreReindexFlag)
focal_class.class_method_signature: IndexUpdate.shouldReindex(NodeBuilder definition, NodeState before,
              String name)
focal_class.full_signature: private boolean shouldReindex(NodeBuilder definition, NodeState before,
              String name)
focal_class.identifier: shouldReindex
focal_class.modifiers: private
focal_class.parameters: (NodeBuilder definition, NodeState before,
              String name)
focal_class.return: boolean
focal_class.signature: boolean shouldReindex(NodeBuilder definition, NodeState before,
              String name)
focal_class.class_method_signature: IndexUpdate.hasAnyHiddenNodes(NodeBuilder builder)
focal_class.full_signature: private static boolean hasAnyHiddenNodes(NodeBuilder builder)
focal_class.identifier: hasAnyHiddenNodes
focal_class.modifiers: private static
focal_class.parameters: (NodeBuilder builder)
focal_class.return: boolean
focal_class.signature: boolean hasAnyHiddenNodes(NodeBuilder builder)
focal_class.class_method_signature: IndexUpdate.collectIndexEditors(NodeBuilder definitions,
              NodeState before)
focal_class.full_signature: private void collectIndexEditors(NodeBuilder definitions,
              NodeState before)
focal_class.identifier: collectIndexEditors
focal_class.modifiers: private
focal_class.parameters: (NodeBuilder definitions,
              NodeState before)
focal_class.return: void
focal_class.signature: void collectIndexEditors(NodeBuilder definitions,
              NodeState before)
focal_class.class_method_signature: IndexUpdate.removeIndexState(NodeBuilder definition)
focal_class.full_signature: private void removeIndexState(NodeBuilder definition)
focal_class.identifier: removeIndexState
focal_class.modifiers: private
focal_class.parameters: (NodeBuilder definition)
focal_class.return: void
focal_class.signature: void removeIndexState(NodeBuilder definition)
focal_class.class_method_signature: IndexUpdate.getEstimatedCount(NodeBuilder indexDefinition)
focal_class.full_signature: private long getEstimatedCount(NodeBuilder indexDefinition)
focal_class.identifier: getEstimatedCount
focal_class.modifiers: private
focal_class.parameters: (NodeBuilder indexDefinition)
focal_class.return: long
focal_class.signature: long getEstimatedCount(NodeBuilder indexDefinition)
focal_class.class_method_signature: IndexUpdate.isIncluded(String asyncRef, NodeBuilder definition)
focal_class.full_signature: static boolean isIncluded(String asyncRef, NodeBuilder definition)
focal_class.identifier: isIncluded
focal_class.modifiers: static
focal_class.parameters: (String asyncRef, NodeBuilder definition)
focal_class.return: boolean
focal_class.signature: boolean isIncluded(String asyncRef, NodeBuilder definition)
focal_class.class_method_signature: IndexUpdate.isMatchingIndexMode(NodeBuilder definition)
focal_class.full_signature: private boolean isMatchingIndexMode(NodeBuilder definition)
focal_class.identifier: isMatchingIndexMode
focal_class.modifiers: private
focal_class.parameters: (NodeBuilder definition)
focal_class.return: boolean
focal_class.signature: boolean isMatchingIndexMode(NodeBuilder definition)
focal_class.class_method_signature: IndexUpdate.incrementReIndexCount(NodeBuilder definition)
focal_class.full_signature: private void incrementReIndexCount(NodeBuilder definition)
focal_class.identifier: incrementReIndexCount
focal_class.modifiers: private
focal_class.parameters: (NodeBuilder definition)
focal_class.return: void
focal_class.signature: void incrementReIndexCount(NodeBuilder definition)
focal_class.class_method_signature: IndexUpdate.getPath()
focal_class.full_signature: @Override public String getPath()
focal_class.identifier: getPath
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getPath()
focal_class.class_method_signature: IndexUpdate.leave(NodeState before, NodeState after)
focal_class.full_signature: @Override public void leave(NodeState before, NodeState after)
focal_class.identifier: leave
focal_class.modifiers: @Override public
focal_class.parameters: (NodeState before, NodeState after)
focal_class.return: void
focal_class.signature: void leave(NodeState before, NodeState after)
focal_class.class_method_signature: IndexUpdate.propertyAdded(PropertyState after)
focal_class.full_signature: @Override public void propertyAdded(PropertyState after)
focal_class.identifier: propertyAdded
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyState after)
focal_class.return: void
focal_class.signature: void propertyAdded(PropertyState after)
focal_class.class_method_signature: IndexUpdate.propertyChanged(PropertyState before, PropertyState after)
focal_class.full_signature: @Override public void propertyChanged(PropertyState before, PropertyState after)
focal_class.identifier: propertyChanged
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyState before, PropertyState after)
focal_class.return: void
focal_class.signature: void propertyChanged(PropertyState before, PropertyState after)
focal_class.class_method_signature: IndexUpdate.propertyDeleted(PropertyState before)
focal_class.full_signature: @Override public void propertyDeleted(PropertyState before)
focal_class.identifier: propertyDeleted
focal_class.modifiers: @Override public
focal_class.parameters: (PropertyState before)
focal_class.return: void
focal_class.signature: void propertyDeleted(PropertyState before)
focal_class.class_method_signature: IndexUpdate.childNodeAdded(String name, NodeState after)
focal_class.full_signature: @Override @NotNull public Editor childNodeAdded(String name, NodeState after)
focal_class.identifier: childNodeAdded
focal_class.modifiers: @Override @NotNull public
focal_class.parameters: (String name, NodeState after)
focal_class.return: Editor
focal_class.signature: Editor childNodeAdded(String name, NodeState after)
focal_class.class_method_signature: IndexUpdate.childNodeChanged(
              String name, NodeState before, NodeState after)
focal_class.full_signature: @Override @NotNull public Editor childNodeChanged(
              String name, NodeState before, NodeState after)
focal_class.identifier: childNodeChanged
focal_class.modifiers: @Override @NotNull public
focal_class.parameters: (
              String name, NodeState before, NodeState after)
focal_class.return: Editor
focal_class.signature: Editor childNodeChanged(
              String name, NodeState before, NodeState after)
focal_class.class_method_signature: IndexUpdate.childNodeDeleted(String name, NodeState before)
focal_class.full_signature: @Override @Nullable public Editor childNodeDeleted(String name, NodeState before)
focal_class.identifier: childNodeDeleted
focal_class.modifiers: @Override @Nullable public
focal_class.parameters: (String name, NodeState before)
focal_class.return: Editor
focal_class.signature: Editor childNodeDeleted(String name, NodeState before)
focal_class.class_method_signature: IndexUpdate.commitProgress(IndexProgress indexProgress)
focal_class.full_signature: public void commitProgress(IndexProgress indexProgress)
focal_class.identifier: commitProgress
focal_class.modifiers: public
focal_class.parameters: (IndexProgress indexProgress)
focal_class.return: void
focal_class.signature: void commitProgress(IndexProgress indexProgress)
focal_class.class_method_signature: IndexUpdate.getReindexedDefinitions()
focal_class.full_signature: protected Set<String> getReindexedDefinitions()
focal_class.identifier: getReindexedDefinitions
focal_class.modifiers: protected
focal_class.parameters: ()
focal_class.return: Set<String>
focal_class.signature: Set<String> getReindexedDefinitions()
focal_class.class_method_signature: IndexUpdate.clearCorruptFlag(NodeBuilder definition, String indexPath)
focal_class.full_signature: private void clearCorruptFlag(NodeBuilder definition, String indexPath)
focal_class.identifier: clearCorruptFlag
focal_class.modifiers: private
focal_class.parameters: (NodeBuilder definition, String indexPath)
focal_class.return: void
focal_class.signature: void clearCorruptFlag(NodeBuilder definition, String indexPath)
focal_class.class_method_signature: IndexUpdate.getIndexPath(String path, String indexName)
focal_class.full_signature: private static String getIndexPath(String path, String indexName)
focal_class.identifier: getIndexPath
focal_class.modifiers: private static
focal_class.parameters: (String path, String indexName)
focal_class.return: String
focal_class.signature: String getIndexPath(String path, String indexName)
focal_class.class_method_signature: IndexUpdate.wrapProgress(Editor editor)
focal_class.full_signature: private Editor wrapProgress(Editor editor)
focal_class.identifier: wrapProgress
focal_class.modifiers: private
focal_class.parameters: (Editor editor)
focal_class.return: Editor
focal_class.signature: Editor wrapProgress(Editor editor)
focal_class.class_method_signature: IndexUpdate.withMissingProviderStrategy(
              MissingIndexProviderStrategy missingProvider)
focal_class.full_signature: public IndexUpdate withMissingProviderStrategy(
              MissingIndexProviderStrategy missingProvider)
focal_class.identifier: withMissingProviderStrategy
focal_class.modifiers: public
focal_class.parameters: (
              MissingIndexProviderStrategy missingProvider)
focal_class.return: IndexUpdate
focal_class.signature: IndexUpdate withMissingProviderStrategy(
              MissingIndexProviderStrategy missingProvider)
focal_method.body: public IndexUpdate withMissingProviderStrategy(
              MissingIndexProviderStrategy missingProvider) {
          rootState.setMissingProvider(missingProvider);
          return this;
      }
focal_method.class_method_signature: IndexUpdate.withMissingProviderStrategy(
              MissingIndexProviderStrategy missingProvider)
focal_method.full_signature: public IndexUpdate withMissingProviderStrategy(
              MissingIndexProviderStrategy missingProvider)
focal_method.identifier: withMissingProviderStrategy
focal_method.invocations: setMissingProvider
focal_method.modifiers: public
focal_method.parameters: (
              MissingIndexProviderStrategy missingProvider)
focal_method.return: IndexUpdate
focal_method.signature: IndexUpdate withMissingProviderStrategy(
              MissingIndexProviderStrategy missingProvider)