test_class.file: gremlin-groovy/src/test/java/org/apache/tinkerpop/gremlin/groovy/jsr223/customizer/ConfigurationCustomizerProviderTest.java
test_class.identifier: ConfigurationCustomizerProviderTest
test_case.body: @Test
      public void shouldThrowExceptionForNotFoundSetting() {
          final CompilerConfiguration configuration = new CompilerConfiguration();
          try {
              final ConfigurationCustomizerProvider provider = new ConfigurationCustomizerProvider(
                      "Tolerance", 3,
                      "NotRealSettingThatWouldEverOccur2", new java.util.Date());
  
              provider.applyCustomization(configuration);
          } catch (Exception ex) {
              assertThat(ex, instanceOf(IllegalStateException.class));
              assertEquals("Invalid setting [NotRealSettingThatWouldEverOccur2] for CompilerConfiguration", ex.getMessage());
          }
      }
test_case.class_method_signature: ConfigurationCustomizerProviderTest.shouldThrowExceptionForNotFoundSetting()
test_case.full_signature: @Test public void shouldThrowExceptionForNotFoundSetting()
test_case.identifier: shouldThrowExceptionForNotFoundSetting
test_case.invocations: applyCustomization assertThat instanceOf assertEquals getMessage
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldThrowExceptionForNotFoundSetting()
focal_class.declarator: properties
focal_class.modifier: private final
focal_class.original_string: private final Map<String,Object> properties;
focal_class.type: Map<String,Object>
focal_class.var_name: properties
focal_class.file: gremlin-groovy/src/main/java/org/apache/tinkerpop/gremlin/groovy/jsr223/customizer/ConfigurationCustomizerProvider.java
focal_class.identifier: ConfigurationCustomizerProvider
focal_class.interfaces: implements CompilerCustomizerProvider
focal_class.class_method_signature: ConfigurationCustomizerProvider.ConfigurationCustomizerProvider(final Object... keyValues)
focal_class.full_signature: public  ConfigurationCustomizerProvider(final Object... keyValues)
focal_class.identifier: ConfigurationCustomizerProvider
focal_class.modifiers: public
focal_class.parameters: (final Object... keyValues)
focal_class.signature:  ConfigurationCustomizerProvider(final Object... keyValues)
focal_class.class_method_signature: ConfigurationCustomizerProvider.ConfigurationCustomizerProvider(final Map<String,Object> keyValues)
focal_class.full_signature: public  ConfigurationCustomizerProvider(final Map<String,Object> keyValues)
focal_class.identifier: ConfigurationCustomizerProvider
focal_class.modifiers: public
focal_class.parameters: (final Map<String,Object> keyValues)
focal_class.signature:  ConfigurationCustomizerProvider(final Map<String,Object> keyValues)
focal_class.class_method_signature: ConfigurationCustomizerProvider.applyCustomization(final CompilerConfiguration compilerConfiguration)
focal_class.full_signature: public CompilerConfiguration applyCustomization(final CompilerConfiguration compilerConfiguration)
focal_class.identifier: applyCustomization
focal_class.modifiers: public
focal_class.parameters: (final CompilerConfiguration compilerConfiguration)
focal_class.return: CompilerConfiguration
focal_class.signature: CompilerConfiguration applyCustomization(final CompilerConfiguration compilerConfiguration)
focal_class.class_method_signature: ConfigurationCustomizerProvider.create()
focal_class.full_signature: @Override public CompilationCustomizer create()
focal_class.identifier: create
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: CompilationCustomizer
focal_class.signature: CompilationCustomizer create()
focal_method.body: public CompilerConfiguration applyCustomization(final CompilerConfiguration compilerConfiguration) {
          final Class<CompilerConfiguration> clazz = CompilerConfiguration.class;
          final List<Method> methods = Arrays.asList(clazz.getMethods());
          for (Map.Entry<String,Object> entry : properties.entrySet()) {
              final Method method = methods.stream().filter(m -> m.getName().equals("set" + entry.getKey())).findFirst()
                     .orElseThrow(() -> new IllegalStateException("Invalid setting [" + entry.getKey() + "] for CompilerConfiguration"));
  
              try {
                  method.invoke(compilerConfiguration, entry.getValue());
              } catch (Exception ex) {
                  throw new IllegalStateException(ex);
              }
          }
  
          return compilerConfiguration;
      }
focal_method.class_method_signature: ConfigurationCustomizerProvider.applyCustomization(final CompilerConfiguration compilerConfiguration)
focal_method.full_signature: public CompilerConfiguration applyCustomization(final CompilerConfiguration compilerConfiguration)
focal_method.identifier: applyCustomization
focal_method.invocations: asList getMethods entrySet orElseThrow findFirst filter stream equals getName getKey getKey invoke getValue
focal_method.modifiers: public
focal_method.parameters: (final CompilerConfiguration compilerConfiguration)
focal_method.return: CompilerConfiguration
focal_method.signature: CompilerConfiguration applyCustomization(final CompilerConfiguration compilerConfiguration)