test_class.file: oak-security-spi/src/test/java/org/apache/jackrabbit/oak/spi/security/user/action/DefaultAuthorizableActionProviderTest.java
test_class.identifier: DefaultAuthorizableActionProviderTest
test_case.body: @Test
      public void testValidConfig() {
          String[] classNames = new String[] {
                  PasswordChangeAction.class.getName(),
                  PasswordValidationAction.class.getName()
          };
          AuthorizableActionProvider actionProvider = new DefaultAuthorizableActionProvider(
                  ConfigurationParameters.of(DefaultAuthorizableActionProvider.ENABLED_ACTIONS, classNames));
  
          List<? extends AuthorizableAction> actions = actionProvider.getAuthorizableActions(getSecurityProvider());
          assertNotNull(actions);
          assertEquals(2, actions.size());
          assertTrue(actions.get(0) instanceof PasswordChangeAction);
          assertTrue(actions.get(1) instanceof PasswordValidationAction);
      }
test_case.class_method_signature: DefaultAuthorizableActionProviderTest.testValidConfig()
test_case.full_signature: @Test public void testValidConfig()
test_case.identifier: testValidConfig
test_case.invocations: getName getName of getAuthorizableActions getSecurityProvider assertNotNull assertEquals size assertTrue get assertTrue get
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testValidConfig()
focal_class.declarator: log = LoggerFactory.getLogger(DefaultAuthorizableActionProvider.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(DefaultAuthorizableActionProvider.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: SUPPORTED_ACTIONS = ImmutableMap.<String, Class<? extends AuthorizableAction>>of(
              AccessControlAction.class.getName(), AccessControlAction.class,
              PasswordValidationAction.class.getName(), PasswordValidationAction.class,
              PasswordChangeAction.class.getName(), PasswordChangeAction.class,
              ClearMembershipAction.class.getName(), ClearMembershipAction.class
      )
focal_class.modifier: private static final
focal_class.original_string: private static final Map<String, Class<? extends AuthorizableAction>> SUPPORTED_ACTIONS = ImmutableMap.<String, Class<? extends AuthorizableAction>>of(
              AccessControlAction.class.getName(), AccessControlAction.class,
              PasswordValidationAction.class.getName(), PasswordValidationAction.class,
              PasswordChangeAction.class.getName(), PasswordChangeAction.class,
              ClearMembershipAction.class.getName(), ClearMembershipAction.class
      );
focal_class.type: Map<String, Class<? extends AuthorizableAction>>
focal_class.var_name: SUPPORTED_ACTIONS
focal_class.declarator: DEFAULT_ACTIONS = new String[] {AccessControlAction.class.getName()}
focal_class.modifier: private static final
focal_class.original_string: private static final String[] DEFAULT_ACTIONS = new String[] {AccessControlAction.class.getName()};
focal_class.type: String[]
focal_class.var_name: DEFAULT_ACTIONS
focal_class.declarator: ENABLED_ACTIONS = "enabledActions"
focal_class.modifier: static final
focal_class.original_string: static final String ENABLED_ACTIONS = "enabledActions";
focal_class.type: String
focal_class.var_name: ENABLED_ACTIONS
focal_class.declarator: enabledActions = DEFAULT_ACTIONS
focal_class.modifier: private
focal_class.original_string: private String[] enabledActions = DEFAULT_ACTIONS;
focal_class.type: String[]
focal_class.var_name: enabledActions
focal_class.declarator: config = ConfigurationParameters.EMPTY
focal_class.modifier: private
focal_class.original_string: private ConfigurationParameters config = ConfigurationParameters.EMPTY;
focal_class.type: ConfigurationParameters
focal_class.var_name: config
focal_class.file: oak-security-spi/src/main/java/org/apache/jackrabbit/oak/spi/security/user/action/DefaultAuthorizableActionProvider.java
focal_class.identifier: DefaultAuthorizableActionProvider
focal_class.interfaces: implements AuthorizableActionProvider
focal_class.class_method_signature: DefaultAuthorizableActionProvider.DefaultAuthorizableActionProvider()
focal_class.full_signature: @SuppressWarnings("UnusedDeclaration") public  DefaultAuthorizableActionProvider()
focal_class.identifier: DefaultAuthorizableActionProvider
focal_class.modifiers: @SuppressWarnings("UnusedDeclaration") public
focal_class.parameters: ()
focal_class.signature:  DefaultAuthorizableActionProvider()
focal_class.class_method_signature: DefaultAuthorizableActionProvider.DefaultAuthorizableActionProvider(ConfigurationParameters config)
focal_class.full_signature: public  DefaultAuthorizableActionProvider(ConfigurationParameters config)
focal_class.identifier: DefaultAuthorizableActionProvider
focal_class.modifiers: public
focal_class.parameters: (ConfigurationParameters config)
focal_class.signature:  DefaultAuthorizableActionProvider(ConfigurationParameters config)
focal_class.class_method_signature: DefaultAuthorizableActionProvider.getAuthorizableActions(@NotNull SecurityProvider securityProvider)
focal_class.full_signature: @NotNull @Override public List<? extends AuthorizableAction> getAuthorizableActions(@NotNull SecurityProvider securityProvider)
focal_class.identifier: getAuthorizableActions
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull SecurityProvider securityProvider)
focal_class.return: List<? extends AuthorizableAction>
focal_class.signature: List<? extends AuthorizableAction> getAuthorizableActions(@NotNull SecurityProvider securityProvider)
focal_class.class_method_signature: DefaultAuthorizableActionProvider.activate(Map<String, Object> properties)
focal_class.full_signature: @SuppressWarnings("UnusedDeclaration") @Activate private void activate(Map<String, Object> properties)
focal_class.identifier: activate
focal_class.modifiers: @SuppressWarnings("UnusedDeclaration") @Activate private
focal_class.parameters: (Map<String, Object> properties)
focal_class.return: void
focal_class.signature: void activate(Map<String, Object> properties)
focal_method.body: @NotNull
      @Override
      public List<? extends AuthorizableAction> getAuthorizableActions(@NotNull SecurityProvider securityProvider) {
          List<AuthorizableAction> actions = Lists.newArrayListWithExpectedSize(enabledActions.length);
          for (String className : enabledActions) {
              try {
                  Class<? extends AuthorizableAction> cl = SUPPORTED_ACTIONS.get(className);
                  if (cl != null) {
                      AuthorizableAction action = cl.newInstance();
                      action.init(securityProvider, config);
                      actions.add(action);
                  }
              } catch (Exception e) {
                  log.debug("Unable to create authorizable action", e);
              }
          }
          return actions;
      }
focal_method.class_method_signature: DefaultAuthorizableActionProvider.getAuthorizableActions(@NotNull SecurityProvider securityProvider)
focal_method.full_signature: @NotNull @Override public List<? extends AuthorizableAction> getAuthorizableActions(@NotNull SecurityProvider securityProvider)
focal_method.identifier: getAuthorizableActions
focal_method.invocations: newArrayListWithExpectedSize get newInstance init add debug
focal_method.modifiers: @NotNull @Override public
focal_method.parameters: (@NotNull SecurityProvider securityProvider)
focal_method.return: List<? extends AuthorizableAction>
focal_method.signature: List<? extends AuthorizableAction> getAuthorizableActions(@NotNull SecurityProvider securityProvider)