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: 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: store = new MemoryNodeStore()
test_class.modifier: private
test_class.original_string: private NodeStore store = new MemoryNodeStore();
test_class.type: NodeStore
test_class.var_name: store
test_class.declarator: mbean = new PropertyIndexStats()
test_class.modifier: private
test_class.original_string: private PropertyIndexStats mbean = new PropertyIndexStats();
test_class.type: PropertyIndexStats
test_class.var_name: mbean
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/property/jmx/PropertyIndexStatsTest.java
test_class.identifier: PropertyIndexStatsTest
test_case.body: @Test
      public void statsForSpecificIndex() throws Exception{
          prepareStore();
  
          NodeBuilder builder = store.getRoot().builder();
          createIndexDefinition(builder.child(INDEX_DEFINITIONS_NAME), "foo",
                  true, false, ImmutableSet.of("foo"), null);
  
          setProperty(builder, "/a/b/c", "foo", "x");
          setProperty(builder, "/a/e/c/d", "foo", "y");
  
          store.merge(builder, HOOK, CommitInfo.EMPTY);
  
          CompositeData cd = mbean.getStatsForSpecificIndex("/oak:index/foo", 5, 2, 100);
          assertEquals(2L, cd.get("valueCount"));
          assertArray(cd, "values", asList("x", "y"));
          assertArray(cd, "paths", asList("/a/b", "/a/e"));
  
          cd = mbean.getStatsForSpecificIndex("/oak:index/foo", 5, 3, 100);
          assertArray(cd, "paths", asList("/a/b/c", "/a/e/c"));
  
          cd = mbean.getStatsForSpecificIndex("/oak:index/foo", 5, 5, 100);
          assertArray(cd, "paths", asList("/a/b/c", "/a/e/c/d"));
      }
test_case.class_method_signature: PropertyIndexStatsTest.statsForSpecificIndex()
test_case.full_signature: @Test public void statsForSpecificIndex()
test_case.identifier: statsForSpecificIndex
test_case.invocations: prepareStore builder getRoot createIndexDefinition child of setProperty setProperty merge getStatsForSpecificIndex assertEquals get assertArray asList assertArray asList getStatsForSpecificIndex assertArray asList getStatsForSpecificIndex assertArray asList
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void statsForSpecificIndex()
focal_class.declarator: store
focal_class.modifier: @Reference
      private
focal_class.original_string: @Reference
      private NodeStore store;
focal_class.type: NodeStore
focal_class.var_name: store
focal_class.declarator: reg
focal_class.modifier: private
focal_class.original_string: private Registration reg;
focal_class.type: Registration
focal_class.var_name: reg
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/property/jmx/PropertyIndexStats.java
focal_class.identifier: PropertyIndexStats
focal_class.interfaces: implements PropertyIndexStatsMBean
focal_class.class_method_signature: PropertyIndexStats.PropertyIndexStats()
focal_class.full_signature: public  PropertyIndexStats()
focal_class.identifier: PropertyIndexStats
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  PropertyIndexStats()
focal_class.class_method_signature: PropertyIndexStats.activate(BundleContext context)
focal_class.full_signature: @Activate private void activate(BundleContext context)
focal_class.identifier: activate
focal_class.modifiers: @Activate private
focal_class.parameters: (BundleContext context)
focal_class.return: void
focal_class.signature: void activate(BundleContext context)
focal_class.class_method_signature: PropertyIndexStats.deactivate()
focal_class.full_signature: @Deactivate private void deactivate()
focal_class.identifier: deactivate
focal_class.modifiers: @Deactivate private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void deactivate()
focal_class.class_method_signature: PropertyIndexStats.getStatsForAllIndexes(String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.full_signature: @Override public TabularData getStatsForAllIndexes(String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.identifier: getStatsForAllIndexes
focal_class.modifiers: @Override public
focal_class.parameters: (String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.return: TabularData
focal_class.signature: TabularData getStatsForAllIndexes(String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.class_method_signature: PropertyIndexStats.getStatsForSpecificIndex(String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.full_signature: @Override public CompositeData getStatsForSpecificIndex(String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.identifier: getStatsForSpecificIndex
focal_class.modifiers: @Override public
focal_class.parameters: (String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.return: CompositeData
focal_class.signature: CompositeData getStatsForSpecificIndex(String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.class_method_signature: PropertyIndexStats.getStatsForIndex(String path, NodeState idx, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.full_signature: private CompositeData getStatsForIndex(String path, NodeState idx, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.identifier: getStatsForIndex
focal_class.modifiers: private
focal_class.parameters: (String path, NodeState idx, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.return: CompositeData
focal_class.signature: CompositeData getStatsForIndex(String path, NodeState idx, int maxValueCount, int maxDepth, int maxPathCount)
focal_class.class_method_signature: PropertyIndexStats.determineIndexedPaths(Iterable<? extends ChildNodeEntry> values,
                                             final int maxDepth, int maxPathCount)
focal_class.full_signature: private String[] determineIndexedPaths(Iterable<? extends ChildNodeEntry> values,
                                             final int maxDepth, int maxPathCount)
focal_class.identifier: determineIndexedPaths
focal_class.modifiers: private
focal_class.parameters: (Iterable<? extends ChildNodeEntry> values,
                                             final int maxDepth, int maxPathCount)
focal_class.return: String[]
focal_class.signature: String[] determineIndexedPaths(Iterable<? extends ChildNodeEntry> values,
                                             final int maxDepth, int maxPathCount)
focal_class.class_method_signature: PropertyIndexStats.getType()
focal_class.full_signature: @SuppressWarnings("unchecked") private static CompositeType getType()
focal_class.identifier: getType
focal_class.modifiers: @SuppressWarnings("unchecked") private static
focal_class.parameters: ()
focal_class.return: CompositeType
focal_class.signature: CompositeType getType()
focal_class.superclass: extends AnnotatedStandardMBean
focal_method.body: @Override
      public CompositeData getStatsForSpecificIndex(String path, int maxValueCount, int maxDepth, int maxPathCount) throws
              OpenDataException {
          NodeState idx = NodeStateUtils.getNode(store.getRoot(), path);
          return getStatsForIndex(path, idx, maxValueCount, maxDepth, maxPathCount);
      }
focal_method.class_method_signature: PropertyIndexStats.getStatsForSpecificIndex(String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_method.full_signature: @Override public CompositeData getStatsForSpecificIndex(String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_method.identifier: getStatsForSpecificIndex
focal_method.invocations: getNode getRoot getStatsForIndex
focal_method.modifiers: @Override public
focal_method.parameters: (String path, int maxValueCount, int maxDepth, int maxPathCount)
focal_method.return: CompositeData
focal_method.signature: CompositeData getStatsForSpecificIndex(String path, int maxValueCount, int maxDepth, int maxPathCount)