From ac0584abe2eaf4a8063f24be92b7fc1487c9c2df Mon Sep 17 00:00:00 2001 From: Sviatoslav Nekhaienko <snekhaienko@slb.com> Date: Tue, 2 Mar 2021 14:36:07 +0200 Subject: [PATCH] change schema retrieval order --- .../indexer/service/impl/SchemaProviderImpl.java | 9 +++------ .../service/impl/SchemaProviderImplTest.java | 14 +++++++------- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImpl.java index 70ef41dd6..2323aeecd 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImpl.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImpl.java @@ -32,6 +32,7 @@ import java.io.UnsupportedEncodingException; import java.net.URISyntaxException; import java.net.URLEncoder; import java.nio.charset.StandardCharsets; +import java.util.Objects; /** * Provides implementation of the client service that retrieves schemas from the Schema Service @@ -58,13 +59,9 @@ public class SchemaProviderImpl implements SchemaService { @Override public String getSchema(String kind) throws URISyntaxException, UnsupportedEncodingException { - String schemaFromStorageService = getFromStorageService(kind); + String schemaServiceSchema = getFromSchemaService(kind); - if (schemaFromStorageService != null) { - return schemaFromStorageService; - } - - return getFromSchemaService(kind); + return Objects.nonNull(schemaServiceSchema) ? schemaServiceSchema : getFromStorageService(kind); } protected String getFromSchemaService(String kind) throws UnsupportedEncodingException, URISyntaxException { diff --git a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImplTest.java b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImplTest.java index a3c5b46e7..5618773fe 100644 --- a/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImplTest.java +++ b/indexer-core/src/test/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImplTest.java @@ -136,7 +136,7 @@ public class SchemaProviderImplTest { } @Test - public void should_call_Storage_then_Schema() throws Exception { + public void should_call_Schema_then_Storage() throws Exception { String kind = "tenant:test:test:1.0.0"; SchemaProviderImpl schemaService = Mockito.mock(SchemaProviderImpl.class); @@ -148,20 +148,20 @@ public class SchemaProviderImplTest { assertNull(recordSchemaResponse); inOrder.verify(schemaService).getSchema(any()); - inOrder.verify(schemaService).getFromStorageService(any()); inOrder.verify(schemaService).getFromSchemaService(any()); + inOrder.verify(schemaService).getFromStorageService(any()); verify(schemaService, times(1)).getFromStorageService(any()); verify(schemaService, times(1)).getFromSchemaService(any()); } @Test - public void should_call_only_Storage_if_it_returns_result() throws Exception { + public void should_call_only_SchemaService_if_it_returns_result() throws Exception { String kind = "tenant:test:test:1.0.0"; SchemaProviderImpl schemaService = Mockito.mock(SchemaProviderImpl.class); when(schemaService.getSchema(any())).thenCallRealMethod(); String someSchema = "some schema"; - when(schemaService.getFromStorageService(any())).thenReturn(someSchema); + when(schemaService.getFromSchemaService(any())).thenReturn(someSchema); InOrder inOrder = inOrder(schemaService); @@ -169,9 +169,9 @@ public class SchemaProviderImplTest { assertEquals(recordSchemaResponse, someSchema); inOrder.verify(schemaService).getSchema(any()); - inOrder.verify(schemaService).getFromStorageService(any()); - verify(schemaService, times(0)).getFromSchemaService(any()); - verify(schemaService, times(1)).getFromStorageService(any()); + inOrder.verify(schemaService).getFromSchemaService(any()); + verify(schemaService, times(1)).getFromSchemaService(any()); + verify(schemaService, times(0)).getFromStorageService(any()); } } \ No newline at end of file -- GitLab