diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/AugmenterConfigurationServiceImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/AugmenterConfigurationServiceImpl.java index 74d2d40c39d0ecbe9a08535f2989fb70d869b963..e3cc866dd3c4c83db879341990eb2b9d482031af 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/AugmenterConfigurationServiceImpl.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/AugmenterConfigurationServiceImpl.java @@ -132,7 +132,7 @@ public class AugmenterConfigurationServiceImpl implements AugmenterConfiguration AugmenterConfiguration augmenterConfiguration = augmenterConfigurationCache.get(kind); if (augmenterConfiguration == null) { - augmenterConfiguration = searchConfigurations(kind); + augmenterConfiguration = searchConfiguration(kind); if (augmenterConfiguration != null) { if(augmenterConfiguration.isValid()) { // Log for debug @@ -725,16 +725,16 @@ public class AugmenterConfigurationServiceImpl implements AugmenterConfiguration specs = new ParentChildRelationshipSpecs(); specs.setSpecList(specsList); - List<AugmenterConfiguration> configurationsList = searchParentKindConfigurations((childKindWithMajor)); - for (AugmenterConfiguration configurations : configurationsList) { - for (PropertyConfiguration configuration : configurations.getConfigurations()) { - List<PropertyPath> matchedPropertyPaths = configuration.getPaths().stream().filter(p -> + List<AugmenterConfiguration> augmenterConfigurations = searchParentKindConfigurations((childKindWithMajor)); + for (AugmenterConfiguration augmenterConfiguration : augmenterConfigurations) { + for (PropertyConfiguration propertyConfiguration : augmenterConfiguration.getConfigurations()) { + List<PropertyPath> matchedPropertyPaths = propertyConfiguration.getPaths().stream().filter(p -> p.hasValidRelatedObjectsSpec() && p.getRelatedObjectsSpec().isParentToChildren() && p.getRelatedObjectsSpec().getRelatedObjectKind().contains(childKindWithMajor)) .toList(); for(PropertyPath propertyPath: matchedPropertyPaths) { - ParentChildRelationshipSpec spec = toParentChildRelationshipSpec(propertyPath, configurations.getCode(), childKindWithMajor); + ParentChildRelationshipSpec spec = toParentChildRelationshipSpec(propertyPath, augmenterConfiguration.getCode(), childKindWithMajor); boolean merged = false; for(ParentChildRelationshipSpec sp: specsList) { if(sp.equals(spec)) { @@ -840,9 +840,9 @@ public class AugmenterConfigurationServiceImpl implements AugmenterConfiguration return true; } - AugmenterConfiguration propertyConfigurations = this.getConfiguration(childKind); - if(propertyConfigurations != null) { - for (PropertyConfiguration propertyConfiguration : propertyConfigurations.getConfigurations()) { + AugmenterConfiguration augmenterConfiguration = this.getConfiguration(childKind); + if(augmenterConfiguration != null) { + for (PropertyConfiguration propertyConfiguration : augmenterConfiguration.getConfigurations()) { for (PropertyPath propertyPath : propertyConfiguration.getPaths().stream().filter( p -> p.hasValidValueExtraction() && p.hasValidRelatedObjectsSpec()).toList()) { String relatedObjectKind = propertyPath.getRelatedObjectsSpec().getRelatedObjectKind(); @@ -949,7 +949,7 @@ public class AugmenterConfigurationServiceImpl implements AugmenterConfiguration return searchRequest; } - private AugmenterConfiguration searchConfigurations(String kind) { + private AugmenterConfiguration searchConfiguration(String kind) { String query = String.format("data.Code: \"%s\"", kind); SearchRequest searchRequest = createSearchRequest(INDEX_PROPERTY_PATH_CONFIGURATION_KIND, query); // If there is more than PropertyConfigurations, pick the one that was last modified. @@ -959,12 +959,12 @@ public class AugmenterConfigurationServiceImpl implements AugmenterConfiguration sort.setField(Arrays.asList(VERSION_PROPERTY)); sort.setOrder(Arrays.asList(SortOrder.DESC)); searchRequest.setSort(sort); - List<AugmenterConfiguration> propertyConfigurationsList = searchConfigurations(searchRequest); - if(!propertyConfigurationsList.isEmpty()) { - if(propertyConfigurationsList.size() > 1) { + List<AugmenterConfiguration> augmenterConfigurations = searchConfigurations(searchRequest); + if(!augmenterConfigurations.isEmpty()) { + if(augmenterConfigurations.size() > 1) { jaxRsDpsLog.warning(String.format("There is more than one PropertyConfigurations for kind: %s", kind)); } - return propertyConfigurationsList.get(0); + return augmenterConfigurations.get(0); } return null; } @@ -982,19 +982,19 @@ public class AugmenterConfigurationServiceImpl implements AugmenterConfiguration } private List<AugmenterConfiguration> searchConfigurations(SearchRequest searchRequest) { - List<AugmenterConfiguration> configurationsList = new ArrayList<>(); + List<AugmenterConfiguration> augmenterConfigurations = new ArrayList<>(); for (SearchRecord searchRecord : searchRecords(searchRequest)) { try { String data = objectMapper.writeValueAsString(searchRecord.getData()); AugmenterConfiguration configurations = objectMapper.readValue(data, AugmenterConfiguration.class); String kind = PropertyUtil.getKindWithMajor(configurations.getCode()); augmenterConfigurationCache.put(kind, configurations); - configurationsList.add(configurations); + augmenterConfigurations.add(configurations); } catch (JsonProcessingException e) { jaxRsDpsLog.error("failed to deserialize PropertyConfigurations object", e); } } - return configurationsList; + return augmenterConfigurations; } private List<SearchRecord> searchRelatedRecords(List<String> relatedObjectKinds, List<String> relatedObjectIds) { diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/model/indexproperty/AugmenterConfigurationTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/model/indexproperty/AugmenterConfigurationTest.java index 68a7cabef9323a3037d3b8b33aa54e6445a69e91..5e1782334313cb4b0ef199e0bd57eacdf4b319b0 100644 --- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/model/indexproperty/AugmenterConfigurationTest.java +++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/model/indexproperty/AugmenterConfigurationTest.java @@ -32,74 +32,74 @@ import java.util.List; @RunWith(SpringRunner.class) public class AugmenterConfigurationTest { - private AugmenterConfiguration configurations; + private AugmenterConfiguration augmenterConfiguration; @Before public void setup() throws JsonProcessingException { String jsonText = getJsonFromFile("well_configuration_record.json"); ObjectMapper objectMapper = new ObjectMapper(); - configurations = objectMapper.readValue(jsonText, AugmenterConfiguration.class); + augmenterConfiguration = objectMapper.readValue(jsonText, AugmenterConfiguration.class); } @Test public void isValid() { - Assert.assertTrue(configurations.hasValidCode()); - Assert.assertTrue(configurations.hasValidConfigurations()); - Assert.assertFalse(configurations.hasInvalidConfigurations()); - Assert.assertTrue(configurations.isValid()); + Assert.assertTrue(augmenterConfiguration.hasValidCode()); + Assert.assertTrue(augmenterConfiguration.hasValidConfigurations()); + Assert.assertFalse(augmenterConfiguration.hasInvalidConfigurations()); + Assert.assertTrue(augmenterConfiguration.isValid()); } @Test public void hasInvalidCode() { - String code = configurations.getCode(); + String code = augmenterConfiguration.getCode(); - configurations.setCode(code + "0.0"); - Assert.assertFalse(configurations.hasValidCode()); - Assert.assertFalse(configurations.isValid()); + augmenterConfiguration.setCode(code + "0.0"); + Assert.assertFalse(augmenterConfiguration.hasValidCode()); + Assert.assertFalse(augmenterConfiguration.isValid()); - configurations.setCode("a:b:1."); - Assert.assertFalse(configurations.hasValidCode()); - Assert.assertFalse(configurations.isValid()); + augmenterConfiguration.setCode("a:b:1."); + Assert.assertFalse(augmenterConfiguration.hasValidCode()); + Assert.assertFalse(augmenterConfiguration.isValid()); - configurations.setCode(""); - Assert.assertFalse(configurations.hasValidCode()); - Assert.assertFalse(configurations.isValid()); + augmenterConfiguration.setCode(""); + Assert.assertFalse(augmenterConfiguration.hasValidCode()); + Assert.assertFalse(augmenterConfiguration.isValid()); - configurations.setCode(null); - Assert.assertFalse(configurations.hasValidCode()); - Assert.assertFalse(configurations.isValid()); + augmenterConfiguration.setCode(null); + Assert.assertFalse(augmenterConfiguration.hasValidCode()); + Assert.assertFalse(augmenterConfiguration.isValid()); } @Test public void hasNoValidConfigurations() { - List<PropertyConfiguration> propertyConfigurations = configurations.getConfigurations(); + List<PropertyConfiguration> propertyConfigurations = augmenterConfiguration.getConfigurations(); - configurations.setConfigurations(new ArrayList<>()); - Assert.assertFalse(configurations.hasValidConfigurations()); - Assert.assertFalse(configurations.hasInvalidConfigurations()); - Assert.assertFalse(configurations.isValid()); + augmenterConfiguration.setConfigurations(new ArrayList<>()); + Assert.assertFalse(augmenterConfiguration.hasValidConfigurations()); + Assert.assertFalse(augmenterConfiguration.hasInvalidConfigurations()); + Assert.assertFalse(augmenterConfiguration.isValid()); - configurations.setConfigurations(null); - Assert.assertFalse(configurations.hasValidConfigurations()); - Assert.assertFalse(configurations.hasInvalidConfigurations()); - Assert.assertFalse(configurations.isValid()); + augmenterConfiguration.setConfigurations(null); + Assert.assertFalse(augmenterConfiguration.hasValidConfigurations()); + Assert.assertFalse(augmenterConfiguration.hasInvalidConfigurations()); + Assert.assertFalse(augmenterConfiguration.isValid()); propertyConfigurations.forEach(p -> p.setPolicy("")); - configurations.setConfigurations(propertyConfigurations); - Assert.assertFalse(configurations.hasValidConfigurations()); - Assert.assertTrue(configurations.hasInvalidConfigurations()); - Assert.assertFalse(configurations.isValid()); + augmenterConfiguration.setConfigurations(propertyConfigurations); + Assert.assertFalse(augmenterConfiguration.hasValidConfigurations()); + Assert.assertTrue(augmenterConfiguration.hasInvalidConfigurations()); + Assert.assertFalse(augmenterConfiguration.isValid()); } @Test public void hasPartialValidConfigurations() { - List<PropertyConfiguration> propertyConfigurations = configurations.getConfigurations(); + List<PropertyConfiguration> propertyConfigurations = augmenterConfiguration.getConfigurations(); Assert.assertEquals(2, propertyConfigurations.size()); propertyConfigurations.get(0).setPolicy(""); - Assert.assertTrue(configurations.hasValidConfigurations()); - Assert.assertTrue(configurations.hasInvalidConfigurations()); - Assert.assertTrue(configurations.isValid()); + Assert.assertTrue(augmenterConfiguration.hasValidConfigurations()); + Assert.assertTrue(augmenterConfiguration.hasInvalidConfigurations()); + Assert.assertTrue(augmenterConfiguration.isValid()); } @SneakyThrows diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/AugmenterConfigurationServiceImplTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/AugmenterConfigurationServiceImplTest.java index 6ece1d2e9613b34f460bed8f1373a6fce8c44785..034393238cfa364cba74eee89c49392c4c13b85a 100644 --- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/AugmenterConfigurationServiceImplTest.java +++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/AugmenterConfigurationServiceImplTest.java @@ -208,7 +208,7 @@ public class AugmenterConfigurationServiceImplTest { @Test public void getExtendedProperties_from_children_objects() throws JsonProcessingException, URISyntaxException { - AugmenterConfiguration propertyConfigurations = getConfigurations("wellbore_configuration_record.json"); + AugmenterConfiguration propertyConfigurations = getConfiguration("wellbore_configuration_record.json"); Map<String, Object> originalDataMap = getDataMap("wellbore_data.json"); String jsonText = getJsonFromFile("welllog_search_records.json"); Type type = new TypeToken<List<SearchRecord>>() {}.getType(); @@ -224,7 +224,7 @@ public class AugmenterConfigurationServiceImplTest { @Test public void getExtendedProperties_from_self_and_parent_objects() throws JsonProcessingException, URISyntaxException { - AugmenterConfiguration propertyConfigurations = getConfigurations("welllog_configuration_record.json"); + AugmenterConfiguration propertyConfigurations = getConfiguration("welllog_configuration_record.json"); Map<String, Object> originalDataMap = getDataMap("welllog_original_data.json"); SearchResponse searchResponse = new SearchResponse(); @@ -282,14 +282,14 @@ public class AugmenterConfigurationServiceImplTest { @Test public void getExtendedSchemaItems_from_self_and_parent_object_kind() throws JsonProcessingException { - AugmenterConfiguration propertyConfigurations = getConfigurations("well_configuration_record.json"); + AugmenterConfiguration augmenterConfiguration = getConfiguration("well_configuration_record.json"); Schema originalSchema = getSchema("well_storage_schema.json"); Schema geoPoliticalEntitySchema = getSchema("geo_political_entity_storage_schema.json"); String relatedObjectKind = "osdu:wks:master-data--GeoPoliticalEntity:1."; Map<String, Schema> relatedObjectKindSchemas = new HashMap<>(); relatedObjectKindSchemas.put(relatedObjectKind, geoPoliticalEntitySchema); - List<SchemaItem> extendedSchemaItems = this.sut.getExtendedSchemaItems(originalSchema, relatedObjectKindSchemas, propertyConfigurations); + List<SchemaItem> extendedSchemaItems = this.sut.getExtendedSchemaItems(originalSchema, relatedObjectKindSchemas, augmenterConfiguration); Assert.assertEquals(3, extendedSchemaItems.size()); SchemaItem countryNameItem = extendedSchemaItems.stream().filter(item -> item.getPath().equals("CountryNames")).findFirst().orElse(null); Assert.assertNotNull(countryNameItem); @@ -306,7 +306,7 @@ public class AugmenterConfigurationServiceImplTest { @Test public void getExtendedSchemaItems_from_multiple_object_kinds() throws JsonProcessingException { - AugmenterConfiguration propertyConfigurations = getConfigurations("welllog_configuration_record.json"); + AugmenterConfiguration augmenterConfiguration = getConfiguration("welllog_configuration_record.json"); Schema originalSchema = getSchema("welllog_storage_schema.json"); Map<String, Schema> relatedObjectKindSchemas = new HashMap<>(); Schema wellboreSchema = getSchema("wellbore_storage_schema.json"); @@ -318,7 +318,7 @@ public class AugmenterConfigurationServiceImplTest { Type type = new TypeToken<List<SchemaItem>>() {}.getType(); List<SchemaItem> expectedExtendedSchemaItems = gson.fromJson(jsonText, type); - List<SchemaItem> extendedSchemaItems = this.sut.getExtendedSchemaItems(originalSchema, relatedObjectKindSchemas, propertyConfigurations); + List<SchemaItem> extendedSchemaItems = this.sut.getExtendedSchemaItems(originalSchema, relatedObjectKindSchemas, augmenterConfiguration); Assert.assertEquals(expectedExtendedSchemaItems.size(), extendedSchemaItems.size()); for(int i = 0; i < expectedExtendedSchemaItems.size(); i++) { SchemaItem expectedExtendedSchemaItem = expectedExtendedSchemaItems.get(i); @@ -868,7 +868,7 @@ public class AugmenterConfigurationServiceImplTest { return gson.fromJson(jsonText, Schema.class); } - private AugmenterConfiguration getConfigurations(String file) throws JsonProcessingException { + private AugmenterConfiguration getConfiguration(String file) throws JsonProcessingException { Map<String, Object> dataMap = getDataMap(file); ObjectMapper objectMapper = new ObjectMapper(); String data = objectMapper.writeValueAsString(dataMap); diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java index ae9a79fbfbc35bcae0afd197c6f169df67c14480..8f5cebc0cb16344d44ddb3d4afa6bd4b87225ceb 100644 --- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java +++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java @@ -348,13 +348,13 @@ public class IndexerSchemaServiceTest { " ]\n" + "}"; ObjectMapper objectMapper = new ObjectMapper(); - AugmenterConfiguration configurations = objectMapper.readValue(propertyConfigurations, AugmenterConfiguration.class); + AugmenterConfiguration augmenterConfiguration = objectMapper.readValue(propertyConfigurations, AugmenterConfiguration.class); when(this.elasticIndexNameResolver.getIndexNameFromKind(kind)).thenReturn(kind.replace(":", "-")); when(this.schemaCache.get(kind)).thenReturn(null); when(this.indicesService.isIndexExist(any(), any())).thenReturn(true); when(this.schemaService.getSchema(kind)).thenReturn(storageSchema); - when(this.propertyConfigurationsService.getConfiguration(kind)).thenReturn(configurations); + when(this.propertyConfigurationsService.getConfiguration(kind)).thenReturn(augmenterConfiguration); when(this.propertyConfigurationsService.resolveConcreteKind(anyString())).thenAnswer(invocation -> { String relatedObjectKind = invocation.getArgument(0); return relatedObjectKind + "0.0";