test_class.declarator: id = "id"
test_class.modifier: private final
test_class.original_string: private final String id = "id";
test_class.type: String
test_class.var_name: id
test_class.declarator: nameGenerator = new RandomAuthorizableNodeName()
test_class.modifier: private
test_class.original_string: private AuthorizableNodeName nameGenerator = new RandomAuthorizableNodeName();
test_class.type: AuthorizableNodeName
test_class.var_name: nameGenerator
test_class.file: oak-core/src/test/java/org/apache/jackrabbit/oak/security/user/RandomAuthorizableNodeNameTest.java
test_class.identifier: RandomAuthorizableNodeNameTest
test_class.superclass: extends AbstractSecurityTest
test_case.body: @Test
      public void testGenerateNodeName() {
          String nodeName = nameGenerator.generateNodeName(id);
  
          assertNotEquals("id", nodeName);
          assertEquals(RandomAuthorizableNodeName.DEFAULT_LENGTH, nodeName.length());
          assertNotEquals(nodeName, nameGenerator.generateNodeName(id));
      }
test_case.class_method_signature: RandomAuthorizableNodeNameTest.testGenerateNodeName()
test_case.full_signature: @Test public void testGenerateNodeName()
test_case.identifier: testGenerateNodeName
test_case.invocations: generateNodeName assertNotEquals assertEquals length assertNotEquals generateNodeName
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGenerateNodeName()
focal_class.declarator: VALID_CHARS
focal_class.modifier: private static final
focal_class.original_string: private static final char[] VALID_CHARS;
focal_class.type: char[]
focal_class.var_name: VALID_CHARS
focal_class.declarator: DEFAULT_LENGTH = 21
focal_class.modifier: public static final
focal_class.original_string: public static final int DEFAULT_LENGTH = 21;
focal_class.type: int
focal_class.var_name: DEFAULT_LENGTH
focal_class.declarator: length = DEFAULT_LENGTH
focal_class.modifier: private
focal_class.original_string: private int length = DEFAULT_LENGTH;
focal_class.type: int
focal_class.var_name: length
focal_class.file: oak-core/src/main/java/org/apache/jackrabbit/oak/security/user/RandomAuthorizableNodeName.java
focal_class.identifier: RandomAuthorizableNodeName
focal_class.interfaces: implements AuthorizableNodeName
focal_class.class_method_signature: RandomAuthorizableNodeName.generateNodeName(@NotNull String authorizableId)
focal_class.full_signature: @NotNull @Override public String generateNodeName(@NotNull String authorizableId)
focal_class.identifier: generateNodeName
focal_class.modifiers: @NotNull @Override public
focal_class.parameters: (@NotNull String authorizableId)
focal_class.return: String
focal_class.signature: String generateNodeName(@NotNull String authorizableId)
focal_class.class_method_signature: RandomAuthorizableNodeName.activate(Configuration config)
focal_class.full_signature: @Activate private void activate(Configuration config)
focal_class.identifier: activate
focal_class.modifiers: @Activate private
focal_class.parameters: (Configuration config)
focal_class.return: void
focal_class.signature: void activate(Configuration config)
focal_method.body: @NotNull
      @Override
      public String generateNodeName(@NotNull String authorizableId) {
          Random random = new SecureRandom();
          char[] chars = new char[length];
          for (int i = 0; i < length; i++) {
              chars[i] = VALID_CHARS[random.nextInt(VALID_CHARS.length)];
          }
          return new String(chars);
      }
focal_method.class_method_signature: RandomAuthorizableNodeName.generateNodeName(@NotNull String authorizableId)
focal_method.full_signature: @NotNull @Override public String generateNodeName(@NotNull String authorizableId)
focal_method.identifier: generateNodeName
focal_method.invocations: nextInt
focal_method.modifiers: @NotNull @Override public
focal_method.parameters: (@NotNull String authorizableId)
focal_method.return: String
focal_method.signature: String generateNodeName(@NotNull String authorizableId)