test_class.file: oak-auth-external/src/test/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModuleFactoryTest.java
test_class.identifier: ExternalLoginModuleFactoryTest
test_class.superclass: extends ExternalLoginTestBase
test_case.body: @Test
      public void testUnbindSyncManager() throws Exception {
          ExternalLoginModuleFactory factory = new ExternalLoginModuleFactory();
          factory.bindSyncManager(syncManager);
  
          Field f = ExternalLoginModuleFactory.class.getDeclaredField("syncManager");
          f.setAccessible(true);
          assertSame(syncManager, f.get(factory));
  
          factory.unbindSyncManager(syncManager);
          assertNull(f.get(factory));
      }
test_case.class_method_signature: ExternalLoginModuleFactoryTest.testUnbindSyncManager()
test_case.full_signature: @Test public void testUnbindSyncManager()
test_case.identifier: testUnbindSyncManager
test_case.invocations: bindSyncManager getDeclaredField setAccessible assertSame get unbindSyncManager assertNull get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testUnbindSyncManager()
focal_class.declarator: log = LoggerFactory.getLogger(ExternalLoginModuleFactory.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(ExternalLoginModuleFactory.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: JAAS_RANKING = LoginModuleFactory.JAAS_RANKING
focal_class.modifier: @SuppressWarnings("UnusedDeclaration")
      @Property(
              intValue = 150,
              label = "JAAS Ranking",
              description = "Specifying the ranking (i.e. sort order) of this login module entry. The entries are sorted " +
                      "in a descending order (i.e. higher value ranked configurations come first)."
      )
      public static final
focal_class.original_string: @SuppressWarnings("UnusedDeclaration")
      @Property(
              intValue = 150,
              label = "JAAS Ranking",
              description = "Specifying the ranking (i.e. sort order) of this login module entry. The entries are sorted " +
                      "in a descending order (i.e. higher value ranked configurations come first)."
      )
      public static final String JAAS_RANKING = LoginModuleFactory.JAAS_RANKING;
focal_class.type: String
focal_class.var_name: JAAS_RANKING
focal_class.declarator: JAAS_CONTROL_FLAG = LoginModuleFactory.JAAS_CONTROL_FLAG
focal_class.modifier: @SuppressWarnings("UnusedDeclaration")
      @Property(
              value = "SUFFICIENT",
              label = "JAAS Control Flag",
              description = "Property specifying whether or not a LoginModule is REQUIRED, REQUISITE, SUFFICIENT or " +
                      "OPTIONAL. Refer to the JAAS configuration documentation for more details around the meaning of " +
                      "these flags."
      )
      public static final
focal_class.original_string: @SuppressWarnings("UnusedDeclaration")
      @Property(
              value = "SUFFICIENT",
              label = "JAAS Control Flag",
              description = "Property specifying whether or not a LoginModule is REQUIRED, REQUISITE, SUFFICIENT or " +
                      "OPTIONAL. Refer to the JAAS configuration documentation for more details around the meaning of " +
                      "these flags."
      )
      public static final String JAAS_CONTROL_FLAG = LoginModuleFactory.JAAS_CONTROL_FLAG;
focal_class.type: String
focal_class.var_name: JAAS_CONTROL_FLAG
focal_class.declarator: JAAS_REALM_NAME = LoginModuleFactory.JAAS_REALM_NAME
focal_class.modifier: @SuppressWarnings("UnusedDeclaration")
      @Property(
              label = "JAAS Realm",
              description = "The realm name (or application name) against which the LoginModule  is be registered. If no " +
                      "realm name is provided then LoginModule is registered with a default realm as configured in " +
                      "the Felix JAAS configuration."
      )
      public static final
focal_class.original_string: @SuppressWarnings("UnusedDeclaration")
      @Property(
              label = "JAAS Realm",
              description = "The realm name (or application name) against which the LoginModule  is be registered. If no " +
                      "realm name is provided then LoginModule is registered with a default realm as configured in " +
                      "the Felix JAAS configuration."
      )
      public static final String JAAS_REALM_NAME = LoginModuleFactory.JAAS_REALM_NAME;
focal_class.type: String
focal_class.var_name: JAAS_REALM_NAME
focal_class.declarator: PARAM_IDP_NAME = SyncHandlerMapping.PARAM_IDP_NAME
focal_class.modifier: @Property(
              label = "Identity Provider Name",
              description = "Name of the identity provider (for example: 'ldap')."
      )
      public static final
focal_class.original_string: @Property(
              label = "Identity Provider Name",
              description = "Name of the identity provider (for example: 'ldap')."
      )
      public static final String PARAM_IDP_NAME = SyncHandlerMapping.PARAM_IDP_NAME;
focal_class.type: String
focal_class.var_name: PARAM_IDP_NAME
focal_class.declarator: PARAM_SYNC_HANDLER_NAME = SyncHandlerMapping.PARAM_SYNC_HANDLER_NAME
focal_class.modifier: @Property(
              value = "default",
              label = "Sync Handler Name",
              description = "Name of the sync handler."
      )
      public static final
focal_class.original_string: @Property(
              value = "default",
              label = "Sync Handler Name",
              description = "Name of the sync handler."
      )
      public static final String PARAM_SYNC_HANDLER_NAME = SyncHandlerMapping.PARAM_SYNC_HANDLER_NAME;
focal_class.type: String
focal_class.var_name: PARAM_SYNC_HANDLER_NAME
focal_class.declarator: securityProvider
focal_class.modifier: @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY, policy = ReferencePolicy.DYNAMIC)
      private
focal_class.original_string: @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY, policy = ReferencePolicy.DYNAMIC)
      private SecurityProvider securityProvider;
focal_class.type: SecurityProvider
focal_class.var_name: securityProvider
focal_class.declarator: contentRepository
focal_class.modifier: @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY, policy = ReferencePolicy.DYNAMIC)
      private
focal_class.original_string: @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY, policy = ReferencePolicy.DYNAMIC)
      private ContentRepository contentRepository;
focal_class.type: ContentRepository
focal_class.var_name: contentRepository
focal_class.declarator: syncManager
focal_class.modifier: @Reference
      private
focal_class.original_string: @Reference
      private SyncManager syncManager;
focal_class.type: SyncManager
focal_class.var_name: syncManager
focal_class.declarator: idpManager
focal_class.modifier: @Reference
      private
focal_class.original_string: @Reference
      private ExternalIdentityProviderManager idpManager;
focal_class.type: ExternalIdentityProviderManager
focal_class.var_name: idpManager
focal_class.declarator: osgiConfig = ConfigurationParameters.EMPTY
focal_class.modifier: private
focal_class.original_string: private ConfigurationParameters osgiConfig = ConfigurationParameters.EMPTY;
focal_class.type: ConfigurationParameters
focal_class.var_name: osgiConfig
focal_class.declarator: bundleContext
focal_class.modifier: private
focal_class.original_string: private BundleContext bundleContext;
focal_class.type: BundleContext
focal_class.var_name: bundleContext
focal_class.declarator: mbeanRegistration
focal_class.modifier: private
focal_class.original_string: private Registration mbeanRegistration;
focal_class.type: Registration
focal_class.var_name: mbeanRegistration
focal_class.file: oak-auth-external/src/main/java/org/apache/jackrabbit/oak/spi/security/authentication/external/impl/ExternalLoginModuleFactory.java
focal_class.identifier: ExternalLoginModuleFactory
focal_class.interfaces: implements LoginModuleFactory, SyncHandlerMapping
focal_class.class_method_signature: ExternalLoginModuleFactory.activate(ComponentContext context)
focal_class.full_signature: @SuppressWarnings("UnusedDeclaration") @Activate private void activate(ComponentContext context)
focal_class.identifier: activate
focal_class.modifiers: @SuppressWarnings("UnusedDeclaration") @Activate private
focal_class.parameters: (ComponentContext context)
focal_class.return: void
focal_class.signature: void activate(ComponentContext context)
focal_class.class_method_signature: ExternalLoginModuleFactory.deactivate()
focal_class.full_signature: @SuppressWarnings("UnusedDeclaration") @Deactivate private void deactivate()
focal_class.identifier: deactivate
focal_class.modifiers: @SuppressWarnings("UnusedDeclaration") @Deactivate private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void deactivate()
focal_class.class_method_signature: ExternalLoginModuleFactory.bindContentRepository(ContentRepository contentRepository)
focal_class.full_signature: @SuppressWarnings("UnusedDeclaration") public void bindContentRepository(ContentRepository contentRepository)
focal_class.identifier: bindContentRepository
focal_class.modifiers: @SuppressWarnings("UnusedDeclaration") public
focal_class.parameters: (ContentRepository contentRepository)
focal_class.return: void
focal_class.signature: void bindContentRepository(ContentRepository contentRepository)
focal_class.class_method_signature: ExternalLoginModuleFactory.unbindContentRepository(ContentRepository contentRepository)
focal_class.full_signature: @SuppressWarnings("UnusedDeclaration") public void unbindContentRepository(ContentRepository contentRepository)
focal_class.identifier: unbindContentRepository
focal_class.modifiers: @SuppressWarnings("UnusedDeclaration") public
focal_class.parameters: (ContentRepository contentRepository)
focal_class.return: void
focal_class.signature: void unbindContentRepository(ContentRepository contentRepository)
focal_class.class_method_signature: ExternalLoginModuleFactory.bindSecurityProvider(SecurityProvider securityProvider)
focal_class.full_signature: @SuppressWarnings("UnusedDeclaration") public void bindSecurityProvider(SecurityProvider securityProvider)
focal_class.identifier: bindSecurityProvider
focal_class.modifiers: @SuppressWarnings("UnusedDeclaration") public
focal_class.parameters: (SecurityProvider securityProvider)
focal_class.return: void
focal_class.signature: void bindSecurityProvider(SecurityProvider securityProvider)
focal_class.class_method_signature: ExternalLoginModuleFactory.unbindSecurityProvider(SecurityProvider securityProvider)
focal_class.full_signature: @SuppressWarnings("UnusedDeclaration") public void unbindSecurityProvider(SecurityProvider securityProvider)
focal_class.identifier: unbindSecurityProvider
focal_class.modifiers: @SuppressWarnings("UnusedDeclaration") public
focal_class.parameters: (SecurityProvider securityProvider)
focal_class.return: void
focal_class.signature: void unbindSecurityProvider(SecurityProvider securityProvider)
focal_class.class_method_signature: ExternalLoginModuleFactory.bindSyncManager(SyncManager syncManager)
focal_class.full_signature: public void bindSyncManager(SyncManager syncManager)
focal_class.identifier: bindSyncManager
focal_class.modifiers: public
focal_class.parameters: (SyncManager syncManager)
focal_class.return: void
focal_class.signature: void bindSyncManager(SyncManager syncManager)
focal_class.class_method_signature: ExternalLoginModuleFactory.unbindSyncManager(SyncManager syncManager)
focal_class.full_signature: public void unbindSyncManager(SyncManager syncManager)
focal_class.identifier: unbindSyncManager
focal_class.modifiers: public
focal_class.parameters: (SyncManager syncManager)
focal_class.return: void
focal_class.signature: void unbindSyncManager(SyncManager syncManager)
focal_class.class_method_signature: ExternalLoginModuleFactory.bindIdpManager(ExternalIdentityProviderManager idpManager)
focal_class.full_signature: public void bindIdpManager(ExternalIdentityProviderManager idpManager)
focal_class.identifier: bindIdpManager
focal_class.modifiers: public
focal_class.parameters: (ExternalIdentityProviderManager idpManager)
focal_class.return: void
focal_class.signature: void bindIdpManager(ExternalIdentityProviderManager idpManager)
focal_class.class_method_signature: ExternalLoginModuleFactory.unbindIdpManager(ExternalIdentityProviderManager idpManager)
focal_class.full_signature: public void unbindIdpManager(ExternalIdentityProviderManager idpManager)
focal_class.identifier: unbindIdpManager
focal_class.modifiers: public
focal_class.parameters: (ExternalIdentityProviderManager idpManager)
focal_class.return: void
focal_class.signature: void unbindIdpManager(ExternalIdentityProviderManager idpManager)
focal_class.class_method_signature: ExternalLoginModuleFactory.mayRegisterSyncMBean()
focal_class.full_signature: private void mayRegisterSyncMBean()
focal_class.identifier: mayRegisterSyncMBean
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void mayRegisterSyncMBean()
focal_class.class_method_signature: ExternalLoginModuleFactory.unregisterSyncMBean()
focal_class.full_signature: private void unregisterSyncMBean()
focal_class.identifier: unregisterSyncMBean
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void unregisterSyncMBean()
focal_class.class_method_signature: ExternalLoginModuleFactory.createLoginModule()
focal_class.full_signature: @Override public LoginModule createLoginModule()
focal_class.identifier: createLoginModule
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: LoginModule
focal_class.signature: LoginModule createLoginModule()
focal_method.body: public void unbindSyncManager(SyncManager syncManager) {
          this.syncManager = null;
      }
focal_method.class_method_signature: ExternalLoginModuleFactory.unbindSyncManager(SyncManager syncManager)
focal_method.full_signature: public void unbindSyncManager(SyncManager syncManager)
focal_method.identifier: unbindSyncManager
focal_method.modifiers: public
focal_method.parameters: (SyncManager syncManager)
focal_method.return: void
focal_method.signature: void unbindSyncManager(SyncManager syncManager)