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.file: oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManagerTest.java
test_class.identifier: RepositoryManagerTest
test_case.body: @Test
      public void repositoryShutdown() throws Exception{
          registerRequiredServices();
  
          RepositoryManager mgr = context.registerInjectActivateService(new RepositoryManager());
          assertNotNull("MBean should be registered", context.getService(RepositoryManagementMBean.class));
  
          mgr.deactivate();
  
          assertNull("MBean should have been removed upon repository shutdown",
                  context.getService(RepositoryManagementMBean.class));
  
      }
test_case.class_method_signature: RepositoryManagerTest.repositoryShutdown()
test_case.full_signature: @Test public void repositoryShutdown()
test_case.identifier: repositoryShutdown
test_case.invocations: registerRequiredServices registerInjectActivateService assertNotNull getService deactivate assertNull getService
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void repositoryShutdown()
focal_class.declarator: DEFAULT_OBSERVATION_QUEUE_LENGTH = BackgroundObserver.DEFAULT_QUEUE_SIZE
focal_class.modifier: private static final
focal_class.original_string: private static final int DEFAULT_OBSERVATION_QUEUE_LENGTH = BackgroundObserver.DEFAULT_QUEUE_SIZE;
focal_class.type: int
focal_class.var_name: DEFAULT_OBSERVATION_QUEUE_LENGTH
focal_class.declarator: DEFAULT_COMMIT_RATE_LIMIT = false
focal_class.modifier: private static final
focal_class.original_string: private static final boolean DEFAULT_COMMIT_RATE_LIMIT = false;
focal_class.type: boolean
focal_class.var_name: DEFAULT_COMMIT_RATE_LIMIT
focal_class.declarator: DEFAULT_FAST_QUERY_RESULT_SIZE = false
focal_class.modifier: private static final
focal_class.original_string: private static final boolean DEFAULT_FAST_QUERY_RESULT_SIZE = false;
focal_class.type: boolean
focal_class.var_name: DEFAULT_FAST_QUERY_RESULT_SIZE
focal_class.declarator: editorProvider =
              new WhiteboardEditorProvider()
focal_class.modifier: private final
focal_class.original_string: private final WhiteboardEditorProvider editorProvider =
              new WhiteboardEditorProvider();
focal_class.type: WhiteboardEditorProvider
focal_class.var_name: editorProvider
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: indexProvider =
              new WhiteboardIndexProvider()
focal_class.modifier: private final
focal_class.original_string: private final WhiteboardIndexProvider indexProvider =
              new WhiteboardIndexProvider();
focal_class.type: WhiteboardIndexProvider
focal_class.var_name: indexProvider
focal_class.declarator: initializers
focal_class.modifier: private
focal_class.original_string: private Tracker<RepositoryInitializer> initializers;
focal_class.type: Tracker<RepositoryInitializer>
focal_class.var_name: initializers
focal_class.declarator: whiteboard
focal_class.modifier: private
focal_class.original_string: private Whiteboard whiteboard;
focal_class.type: Whiteboard
focal_class.var_name: whiteboard
focal_class.declarator: registration
focal_class.modifier: private
focal_class.original_string: private ServiceRegistration registration;
focal_class.type: ServiceRegistration
focal_class.var_name: registration
focal_class.declarator: observationQueueLength
focal_class.modifier: private
focal_class.original_string: private int observationQueueLength;
focal_class.type: int
focal_class.var_name: observationQueueLength
focal_class.declarator: commitRateLimiter
focal_class.modifier: private
focal_class.original_string: private CommitRateLimiter commitRateLimiter;
focal_class.type: CommitRateLimiter
focal_class.var_name: commitRateLimiter
focal_class.declarator: fastQueryResultSize
focal_class.modifier: private
focal_class.original_string: private boolean fastQueryResultSize;
focal_class.type: boolean
focal_class.var_name: fastQueryResultSize
focal_class.declarator: securityProvider
focal_class.modifier: @Reference
      private
focal_class.original_string: @Reference
      private SecurityProvider securityProvider;
focal_class.type: SecurityProvider
focal_class.var_name: securityProvider
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: propertyIndex
focal_class.modifier: @Reference(target = "(type=property)")
      private
focal_class.original_string: @Reference(target = "(type=property)")
      private IndexEditorProvider propertyIndex;
focal_class.type: IndexEditorProvider
focal_class.var_name: propertyIndex
focal_class.declarator: referenceIndex
focal_class.modifier: @Reference(target = "(type=reference)")
      private
focal_class.original_string: @Reference(target = "(type=reference)")
      private IndexEditorProvider referenceIndex;
focal_class.type: IndexEditorProvider
focal_class.var_name: referenceIndex
focal_class.declarator: OBSERVATION_QUEUE_LENGTH = "oak.observation.queue-length"
focal_class.modifier: @Property(
          intValue = DEFAULT_OBSERVATION_QUEUE_LENGTH,
          name = "Observation queue length",
          description = "Maximum number of pending revisions in a observation listener queue")
      private static final
focal_class.original_string: @Property(
          intValue = DEFAULT_OBSERVATION_QUEUE_LENGTH,
          name = "Observation queue length",
          description = "Maximum number of pending revisions in a observation listener queue")
      private static final String OBSERVATION_QUEUE_LENGTH = "oak.observation.queue-length";
focal_class.type: String
focal_class.var_name: OBSERVATION_QUEUE_LENGTH
focal_class.declarator: COMMIT_RATE_LIMIT = "oak.observation.limit-commit-rate"
focal_class.modifier: @Property(
          boolValue = DEFAULT_COMMIT_RATE_LIMIT,
          name = "Commit rate limiter",
          description = "Limit the commit rate once the number of pending revisions in the observation " +
                  "queue exceed 90% of its capacity.")
      private static final
focal_class.original_string: @Property(
          boolValue = DEFAULT_COMMIT_RATE_LIMIT,
          name = "Commit rate limiter",
          description = "Limit the commit rate once the number of pending revisions in the observation " +
                  "queue exceed 90% of its capacity.")
      private static final String COMMIT_RATE_LIMIT = "oak.observation.limit-commit-rate";
focal_class.type: String
focal_class.var_name: COMMIT_RATE_LIMIT
focal_class.declarator: FAST_QUERY_RESULT_SIZE = "oak.query.fastResultSize"
focal_class.modifier: @Property(
              boolValue = DEFAULT_FAST_QUERY_RESULT_SIZE,
              name = "Fast query result size",
              description = "Whether the query result size should return an estimation (or -1 if disabled) for large queries")
      private static final
focal_class.original_string: @Property(
              boolValue = DEFAULT_FAST_QUERY_RESULT_SIZE,
              name = "Fast query result size",
              description = "Whether the query result size should return an estimation (or -1 if disabled) for large queries")
      private static final String FAST_QUERY_RESULT_SIZE = "oak.query.fastResultSize";
focal_class.type: String
focal_class.var_name: FAST_QUERY_RESULT_SIZE
focal_class.declarator: repository
focal_class.modifier: private
focal_class.original_string: private OsgiRepository repository;
focal_class.type: OsgiRepository
focal_class.var_name: repository
focal_class.file: oak-jcr/src/main/java/org/apache/jackrabbit/oak/jcr/osgi/RepositoryManager.java
focal_class.identifier: RepositoryManager
focal_class.class_method_signature: RepositoryManager.activate(BundleContext bundleContext, Map<String, ?> config)
focal_class.full_signature: @Activate public void activate(BundleContext bundleContext, Map<String, ?> config)
focal_class.identifier: activate
focal_class.modifiers: @Activate public
focal_class.parameters: (BundleContext bundleContext, Map<String, ?> config)
focal_class.return: void
focal_class.signature: void activate(BundleContext bundleContext, Map<String, ?> config)
focal_class.class_method_signature: RepositoryManager.prop(Map<String, ?> config, BundleContext bundleContext, String name)
focal_class.full_signature: private static Object prop(Map<String, ?> config, BundleContext bundleContext, String name)
focal_class.identifier: prop
focal_class.modifiers: private static
focal_class.parameters: (Map<String, ?> config, BundleContext bundleContext, String name)
focal_class.return: Object
focal_class.signature: Object prop(Map<String, ?> config, BundleContext bundleContext, String name)
focal_class.class_method_signature: RepositoryManager.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: RepositoryManager.registerRepository(BundleContext bundleContext)
focal_class.full_signature: private ServiceRegistration registerRepository(BundleContext bundleContext)
focal_class.identifier: registerRepository
focal_class.modifiers: private
focal_class.parameters: (BundleContext bundleContext)
focal_class.return: ServiceRegistration
focal_class.signature: ServiceRegistration registerRepository(BundleContext bundleContext)
focal_method.body: @Deactivate
      public void deactivate() {
          if (registration != null) {
              registration.unregister();
              registration = null;
          }
  
          if (repository != null) {
              repository.shutdown();
              repository = null;
          }
  
          initializers.stop();
          indexProvider.stop();
          indexEditorProvider.stop();
          editorProvider.stop();
      }
focal_method.class_method_signature: RepositoryManager.deactivate()
focal_method.full_signature: @Deactivate public void deactivate()
focal_method.identifier: deactivate
focal_method.invocations: unregister shutdown stop stop stop stop
focal_method.modifiers: @Deactivate public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void deactivate()