test_class.file: session-replacement/src/test/java/com/amadeus/session/TestRandomIdProvider.java
test_class.identifier: TestRandomIdProvider
test_case.body: @Test
    public void testConfigure() {
      SessionConfiguration conf = mock(SessionConfiguration.class);
      when(conf.getAttribute(eq(SessionConfiguration.SESSION_ID_LENGTH), any(String.class))).thenReturn("43");
      RandomIdProvider provider = new RandomIdProvider();
      provider.configure(conf);
      assertEquals(60, provider.newId().length());
      assertEquals("ABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEabcde_____1234567890",
          provider.readId("ABCDEABCDEABCDEABCDEABCDEABCDEABCDEABCDEabcde_____1234567890"));
    }
test_case.class_method_signature: TestRandomIdProvider.testConfigure()
test_case.full_signature: @Test public void testConfigure()
test_case.identifier: testConfigure
test_case.invocations: mock thenReturn when getAttribute eq any configure assertEquals length newId assertEquals readId
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testConfigure()
focal_class.declarator: FILLER_CHARACTER_INDEX = 63
focal_class.modifier: private static final
focal_class.original_string: private static final int FILLER_CHARACTER_INDEX = 63;
focal_class.type: int
focal_class.var_name: FILLER_CHARACTER_INDEX
focal_class.declarator: MASK_6_BITS = 0x3F
focal_class.modifier: private static final
focal_class.original_string: private static final int MASK_6_BITS = 0x3F;
focal_class.type: int
focal_class.var_name: MASK_6_BITS
focal_class.declarator: DIVIDE_BY_64 = 6
focal_class.modifier: private static final
focal_class.original_string: private static final int DIVIDE_BY_64 = 6;
focal_class.type: int
focal_class.var_name: DIVIDE_BY_64
focal_class.declarator: MULTIPLY_BY_256 = 8
focal_class.modifier: private static final
focal_class.original_string: private static final int MULTIPLY_BY_256 = 8;
focal_class.type: int
focal_class.var_name: MULTIPLY_BY_256
focal_class.declarator: BYTES_IN_BLOCK = 3
focal_class.modifier: private static final
focal_class.original_string: private static final int BYTES_IN_BLOCK = 3;
focal_class.type: int
focal_class.var_name: BYTES_IN_BLOCK
focal_class.declarator: DEFAULT_ID_LENGTH = 30
focal_class.modifier: private static final
focal_class.original_string: private static final int DEFAULT_ID_LENGTH = 30;
focal_class.type: int
focal_class.var_name: DEFAULT_ID_LENGTH
focal_class.declarator: CHARACTERS_IN_BLOCK = 4
focal_class.modifier: private static final
focal_class.original_string: private static final int CHARACTERS_IN_BLOCK = 4;
focal_class.type: int
focal_class.var_name: CHARACTERS_IN_BLOCK
focal_class.declarator: SESSION_ID_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
        .toCharArray()
focal_class.modifier: private static final
focal_class.original_string: private static final char[] SESSION_ID_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"
        .toCharArray();
focal_class.type: char[]
focal_class.var_name: SESSION_ID_ALPHABET
focal_class.declarator: random = new SecureRandom()
focal_class.modifier: private final
focal_class.original_string: private final SecureRandom random = new SecureRandom();
focal_class.type: SecureRandom
focal_class.var_name: random
focal_class.declarator: length
focal_class.modifier: private
focal_class.original_string: private int length;
focal_class.type: int
focal_class.var_name: length
focal_class.file: session-replacement/src/main/java/com/amadeus/session/RandomIdProvider.java
focal_class.identifier: RandomIdProvider
focal_class.interfaces: implements SessionIdProvider
focal_class.class_method_signature: RandomIdProvider.RandomIdProvider()
focal_class.full_signature: public  RandomIdProvider()
focal_class.identifier: RandomIdProvider
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.signature:  RandomIdProvider()
focal_class.class_method_signature: RandomIdProvider.RandomIdProvider(int length)
focal_class.full_signature:   RandomIdProvider(int length)
focal_class.identifier: RandomIdProvider
focal_class.parameters: (int length)
focal_class.signature:  RandomIdProvider(int length)
focal_class.class_method_signature: RandomIdProvider.encode(byte[] data)
focal_class.full_signature: private char[] encode(byte[] data)
focal_class.identifier: encode
focal_class.modifiers: private
focal_class.parameters: (byte[] data)
focal_class.return: char[]
focal_class.signature: char[] encode(byte[] data)
focal_class.class_method_signature: RandomIdProvider.byteValue(byte data)
focal_class.full_signature: private static int byteValue(byte data)
focal_class.identifier: byteValue
focal_class.modifiers: private static
focal_class.parameters: (byte data)
focal_class.return: int
focal_class.signature: int byteValue(byte data)
focal_class.class_method_signature: RandomIdProvider.newId()
focal_class.full_signature: @Override public String newId()
focal_class.identifier: newId
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String newId()
focal_class.class_method_signature: RandomIdProvider.readId(String value)
focal_class.full_signature: @Override public String readId(String value)
focal_class.identifier: readId
focal_class.modifiers: @Override public
focal_class.parameters: (String value)
focal_class.return: String
focal_class.signature: String readId(String value)
focal_class.class_method_signature: RandomIdProvider.configure(SessionConfiguration configuration)
focal_class.full_signature: @Override public void configure(SessionConfiguration configuration)
focal_class.identifier: configure
focal_class.modifiers: @Override public
focal_class.parameters: (SessionConfiguration configuration)
focal_class.return: void
focal_class.signature: void configure(SessionConfiguration configuration)
focal_class.class_method_signature: RandomIdProvider.getLengthInCharacters()
focal_class.full_signature:  int getLengthInCharacters()
focal_class.identifier: getLengthInCharacters
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getLengthInCharacters()
focal_class.class_method_signature: RandomIdProvider.getLengthInCharacters(int len)
focal_class.full_signature: static int getLengthInCharacters(int len)
focal_class.identifier: getLengthInCharacters
focal_class.modifiers: static
focal_class.parameters: (int len)
focal_class.return: int
focal_class.signature: int getLengthInCharacters(int len)
focal_method.body: @Override
    public void configure(SessionConfiguration configuration) {
      String sessionIdLength = configuration.getAttribute(SESSION_ID_LENGTH, DEFAULT_SESSION_ID_LENGTH);
      length = Integer.parseInt(sessionIdLength);
    }
focal_method.class_method_signature: RandomIdProvider.configure(SessionConfiguration configuration)
focal_method.full_signature: @Override public void configure(SessionConfiguration configuration)
focal_method.identifier: configure
focal_method.invocations: getAttribute parseInt
focal_method.modifiers: @Override public
focal_method.parameters: (SessionConfiguration configuration)
focal_method.return: void
focal_method.signature: void configure(SessionConfiguration configuration)