test_class.declarator: GSON = new Gson()
test_class.modifier: private static final
test_class.original_string: private static final Gson GSON = new Gson();
test_class.type: Gson
test_class.var_name: GSON
test_class.file: core/src/test/java/de/lise/terradoc/core/customization/modification/CompiledResourceCreatorConfigurationTest.java
test_class.identifier: CompiledResourceCreatorConfigurationTest
test_case.body: @Test
      void applyShouldReturnNoResourceIfValueSelectorMatchesAnElementButThePropertySelectedByTheNameSlectorIsMissing() {
          // Arrange
          ResourceCreatorConfiguration configuration = createSelectorTestConfiguration("$.missingName", "$.tmp");
          CompiledResourceCreatorConfiguration compiledResourceCreatorConfiguration = new CompiledResourceCreatorConfiguration(configuration);
          TerraformResource terraformResource = mockSelectorTestResource("{ \"foo\": \"bar\", \"tmp\": { \"a\": 1, \"b\": 2, \"name\": \"i am a name\" } }");
  
          // Act
          Collection<VirtualTerraformResource> results = compiledResourceCreatorConfiguration.apply(terraformResource);
  
          // Verrify
          assertThat(results).isEmpty();
      }
test_case.class_method_signature: CompiledResourceCreatorConfigurationTest.applyShouldReturnNoResourceIfValueSelectorMatchesAnElementButThePropertySelectedByTheNameSlectorIsMissing()
test_case.full_signature: @Test void applyShouldReturnNoResourceIfValueSelectorMatchesAnElementButThePropertySelectedByTheNameSlectorIsMissing()
test_case.identifier: applyShouldReturnNoResourceIfValueSelectorMatchesAnElementButThePropertySelectedByTheNameSlectorIsMissing
test_case.invocations: createSelectorTestConfiguration mockSelectorTestResource apply isEmpty assertThat
test_case.modifiers: @Test
test_case.parameters: ()
test_case.return: void
test_case.signature: void applyShouldReturnNoResourceIfValueSelectorMatchesAnElementButThePropertySelectedByTheNameSlectorIsMissing()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(CompiledResourceCreatorConfiguration.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(CompiledResourceCreatorConfiguration.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: virtualType
focal_class.modifier: private final
focal_class.original_string: private final String virtualType;
focal_class.type: String
focal_class.var_name: virtualType
focal_class.declarator: typePattern
focal_class.modifier: private final
focal_class.original_string: private final Pattern typePattern;
focal_class.type: Pattern
focal_class.var_name: typePattern
focal_class.declarator: providerPattern
focal_class.modifier: private final
focal_class.original_string: private final Pattern providerPattern;
focal_class.type: Pattern
focal_class.var_name: providerPattern
focal_class.declarator: valuesPath
focal_class.modifier: private final
focal_class.original_string: private final JsonPath valuesPath;
focal_class.type: JsonPath
focal_class.var_name: valuesPath
focal_class.declarator: namePath
focal_class.modifier: private final
focal_class.original_string: private final JsonPath namePath;
focal_class.type: JsonPath
focal_class.var_name: namePath
focal_class.file: core/src/main/java/de/lise/terradoc/core/customization/modification/CompiledResourceCreatorConfiguration.java
focal_class.identifier: CompiledResourceCreatorConfiguration
focal_class.class_method_signature: CompiledResourceCreatorConfiguration.CompiledResourceCreatorConfiguration(ResourceCreatorConfiguration resourceCreatorConfiguration)
focal_class.full_signature: public  CompiledResourceCreatorConfiguration(ResourceCreatorConfiguration resourceCreatorConfiguration)
focal_class.identifier: CompiledResourceCreatorConfiguration
focal_class.modifiers: public
focal_class.parameters: (ResourceCreatorConfiguration resourceCreatorConfiguration)
focal_class.signature:  CompiledResourceCreatorConfiguration(ResourceCreatorConfiguration resourceCreatorConfiguration)
focal_class.class_method_signature: CompiledResourceCreatorConfiguration.matches(TerraformResource resource)
focal_class.full_signature: public boolean matches(TerraformResource resource)
focal_class.identifier: matches
focal_class.modifiers: public
focal_class.parameters: (TerraformResource resource)
focal_class.return: boolean
focal_class.signature: boolean matches(TerraformResource resource)
focal_class.class_method_signature: CompiledResourceCreatorConfiguration.apply(TerraformResource resource)
focal_class.full_signature: public Collection<VirtualTerraformResource> apply(TerraformResource resource)
focal_class.identifier: apply
focal_class.modifiers: public
focal_class.parameters: (TerraformResource resource)
focal_class.return: Collection<VirtualTerraformResource>
focal_class.signature: Collection<VirtualTerraformResource> apply(TerraformResource resource)
focal_class.class_method_signature: CompiledResourceCreatorConfiguration.createResource(TerraformResource originalResource, List<?> values)
focal_class.full_signature: private Collection<VirtualTerraformResource> createResource(TerraformResource originalResource, List<?> values)
focal_class.identifier: createResource
focal_class.modifiers: private
focal_class.parameters: (TerraformResource originalResource, List<?> values)
focal_class.return: Collection<VirtualTerraformResource>
focal_class.signature: Collection<VirtualTerraformResource> createResource(TerraformResource originalResource, List<?> values)
focal_class.class_method_signature: CompiledResourceCreatorConfiguration.convertMap(Map<?, ?> rawMap)
focal_class.full_signature: private Map<String, Object> convertMap(Map<?, ?> rawMap)
focal_class.identifier: convertMap
focal_class.modifiers: private
focal_class.parameters: (Map<?, ?> rawMap)
focal_class.return: Map<String, Object>
focal_class.signature: Map<String, Object> convertMap(Map<?, ?> rawMap)
focal_method.body: public Collection<VirtualTerraformResource> apply(TerraformResource resource) {
          Object values;
          try {
              values = valuesPath.read(resource.getValues());
          } catch (PathNotFoundException e) {
              return Collections.emptyList();
          }
  
          if (values instanceof List) {
              return createResource(resource, (List<?>)values);
          }
          List<Object> valueList = new ArrayList<>();
          valueList.add(values);
          return createResource(resource, valueList);
      }
focal_method.class_method_signature: CompiledResourceCreatorConfiguration.apply(TerraformResource resource)
focal_method.full_signature: public Collection<VirtualTerraformResource> apply(TerraformResource resource)
focal_method.identifier: apply
focal_method.invocations: read getValues emptyList createResource add createResource
focal_method.modifiers: public
focal_method.parameters: (TerraformResource resource)
focal_method.return: Collection<VirtualTerraformResource>
focal_method.signature: Collection<VirtualTerraformResource> apply(TerraformResource resource)