test_class.declarator: PASSWORDS = {
              "abc", "def", "ghi", "jkl", "mno", "pqr", "stu", "vwx", "yz0", "123", "456", "789"
      }
test_class.modifier: private static final
test_class.original_string: private static final String[] PASSWORDS = {
              "abc", "def", "ghi", "jkl", "mno", "pqr", "stu", "vwx", "yz0", "123", "456", "789"
      };
test_class.type: String[]
test_class.var_name: PASSWORDS
test_class.declarator: CONFIG = ConfigurationParameters.of(PARAM_PASSWORD_HISTORY_SIZE, 10)
test_class.modifier: private static final
test_class.original_string: private static final ConfigurationParameters CONFIG = ConfigurationParameters.of(PARAM_PASSWORD_HISTORY_SIZE, 10);
test_class.type: ConfigurationParameters
test_class.var_name: CONFIG
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/PasswordHistoryTest.java
test_class.identifier: PasswordHistoryTest
test_class.interfaces: implements UserConstants
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void testDisabledPasswordHistory() throws Exception {
          User user = getTestUser();
          Tree userTree = root.getTree(user.getPath());
  
          List<ConfigurationParameters> configs = ImmutableList.of(
                  ConfigurationParameters.EMPTY,
                  ConfigurationParameters.of(PARAM_PASSWORD_HISTORY_SIZE, PASSWORD_HISTORY_DISABLED_SIZE),
                  ConfigurationParameters.of(PARAM_PASSWORD_HISTORY_SIZE, -1),
                  ConfigurationParameters.of(PARAM_PASSWORD_HISTORY_SIZE, Integer.MIN_VALUE)
          );
  
          for (ConfigurationParameters config : configs) {
              PasswordHistory disabledHistory = new PasswordHistory(config);
  
              assertFalse(isEnabled(disabledHistory));
              assertFalse(disabledHistory.updatePasswordHistory(userTree, user.getID()));
          }
      }
test_case.class_method_signature: PasswordHistoryTest.testDisabledPasswordHistory()
test_case.full_signature: @Test public void testDisabledPasswordHistory()
test_case.identifier: testDisabledPasswordHistory
test_case.invocations: getTestUser getTree getPath of of of of assertFalse isEnabled assertFalse updatePasswordHistory getID
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testDisabledPasswordHistory()
focal_class.declarator: HISTORY_MAX_SIZE = 1000
focal_class.modifier: private static final
focal_class.original_string: private static final int HISTORY_MAX_SIZE = 1000;
focal_class.type: int
focal_class.var_name: HISTORY_MAX_SIZE
focal_class.declarator: maxSize
focal_class.modifier: private final
focal_class.original_string: private final int maxSize;
focal_class.type: int
focal_class.var_name: maxSize
focal_class.declarator: isEnabled
focal_class.modifier: private final
focal_class.original_string: private final boolean isEnabled;
focal_class.type: boolean
focal_class.var_name: isEnabled
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/PasswordHistory.java
focal_class.identifier: PasswordHistory
focal_class.interfaces: implements UserConstants
focal_class.class_method_signature: PasswordHistory.PasswordHistory(@NotNull ConfigurationParameters config)
focal_class.full_signature:   PasswordHistory(@NotNull ConfigurationParameters config)
focal_class.identifier: PasswordHistory
focal_class.parameters: (@NotNull ConfigurationParameters config)
focal_class.signature:  PasswordHistory(@NotNull ConfigurationParameters config)
focal_class.class_method_signature: PasswordHistory.updatePasswordHistory(@NotNull Tree userTree, @NotNull String password)
focal_class.full_signature:  boolean updatePasswordHistory(@NotNull Tree userTree, @NotNull String password)
focal_class.identifier: updatePasswordHistory
focal_class.parameters: (@NotNull Tree userTree, @NotNull String password)
focal_class.return: boolean
focal_class.signature: boolean updatePasswordHistory(@NotNull Tree userTree, @NotNull String password)
focal_class.class_method_signature: PasswordHistory.shiftPasswordHistory(@NotNull Tree userTree)
focal_class.full_signature: private boolean shiftPasswordHistory(@NotNull Tree userTree)
focal_class.identifier: shiftPasswordHistory
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree userTree)
focal_class.return: boolean
focal_class.signature: boolean shiftPasswordHistory(@NotNull Tree userTree)
focal_class.class_method_signature: PasswordHistory.checkPasswordInHistory(@NotNull Tree userTree, @NotNull String newPassword)
focal_class.full_signature: private void checkPasswordInHistory(@NotNull Tree userTree, @NotNull String newPassword)
focal_class.identifier: checkPasswordInHistory
focal_class.modifiers: private
focal_class.parameters: (@NotNull Tree userTree, @NotNull String newPassword)
focal_class.return: void
focal_class.signature: void checkPasswordInHistory(@NotNull Tree userTree, @NotNull String newPassword)
focal_class.class_method_signature: PasswordHistory.getPasswordTree(@NotNull Tree userTree, boolean doCreate)
focal_class.full_signature: @NotNull private static Tree getPasswordTree(@NotNull Tree userTree, boolean doCreate)
focal_class.identifier: getPasswordTree
focal_class.modifiers: @NotNull private static
focal_class.parameters: (@NotNull Tree userTree, boolean doCreate)
focal_class.return: Tree
focal_class.signature: Tree getPasswordTree(@NotNull Tree userTree, boolean doCreate)
focal_method.body: boolean updatePasswordHistory(@NotNull Tree userTree, @NotNull String password) throws ConstraintViolationException, AccessDeniedException {
          boolean updated = false;
          if (isEnabled) {
              checkPasswordInHistory(userTree, password);
              updated = shiftPasswordHistory(userTree);
          }
          return updated;
      }
focal_method.class_method_signature: PasswordHistory.updatePasswordHistory(@NotNull Tree userTree, @NotNull String password)
focal_method.full_signature:  boolean updatePasswordHistory(@NotNull Tree userTree, @NotNull String password)
focal_method.identifier: updatePasswordHistory
focal_method.invocations: checkPasswordInHistory shiftPasswordHistory
focal_method.parameters: (@NotNull Tree userTree, @NotNull String password)
focal_method.return: boolean
focal_method.signature: boolean updatePasswordHistory(@NotNull Tree userTree, @NotNull String password)