diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java index 7894a9dc583a70a04b783806db6d07daf061b594..a0a71a3370fad6b291ca35b42497d241d50ecb0b 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/PropertiesProcessor.java @@ -247,7 +247,7 @@ public class PropertiesProcessor { private Stream<Map<String, Object>> storageSchemaEntry(String kind, String path) { Preconditions.checkNotNullOrEmpty(path, "path cannot be null or empty"); - Preconditions.checkNotNullOrEmpty(kind, "kind cannot be null or empty for path \'" + path + '\'' ); + Preconditions.checkNotNullOrEmpty(kind, String.format("kind cannot be null or empty for path '%s'", path)); Map<String, Object> map = new HashMap<>(); map.put("kind", kind); diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java index aa598288450d44daf81e1fbf7c739d74332a5883..e45e3df8d8272ba446e482d752f84c8267897839 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/SchemaToStorageFormatImpl.java @@ -116,15 +116,15 @@ public class SchemaToStorageFormatImpl implements SchemaToStorageFormat { .collect(Collectors.toList())); } } else { - throw new SchemaProcessingException("Schema doesn't have properties section, kind:"); + throw new SchemaProcessingException(String.format("Schema doesn't have properties section, kind: %s", kind)); } } else { - throw new SchemaProcessingException("Schema doesn't have data section, kind:" + kind); + throw new SchemaProcessingException(String.format("Schema doesn't have data section, kind: %s", kind)); } if (!propertiesProcessor.getErrors().isEmpty()) { - throw new SchemaProcessingException( "Error(-s) occurred during parsing the schema with kind:" + kind - + ", " + String.join(",", propertiesProcessor.getErrors())); + throw new SchemaProcessingException(String.format("Errors occurred during parsing the schema, kind: %s | errors: %s" , + kind, String.join(",", propertiesProcessor.getErrors()))); } final Map<String, Object> result = new LinkedHashMap<>(); @@ -133,5 +133,4 @@ public class SchemaToStorageFormatImpl implements SchemaToStorageFormat { return result; } - } diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tech.md b/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tech.md deleted file mode 100644 index 35c7dd3b47be2806cb28a2f6534fb6a26f093d6a..0000000000000000000000000000000000000000 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/tech.md +++ /dev/null @@ -1,113 +0,0 @@ -## Table of contests. - -1. Purpose - -2. Package details and main classes - -3. Unit tests - -4. Troubleshooting - -5. Schema retrieval order - -6. Converter extensions/modifications - -#### Purpose -The purpose of this document is to provide overview of the Schema -converter from the technical point of view. If you need to know more -about transformations, conversion rules, please see -<https://community.opengroup.org/osdu/platform/system/indexer-service/-/blob/master/indexer-core/src/main/java/org/opengroup/osdu/indexer/schema/converter/readme.md> - -#### Package details and main classes -Schema converter is in org.opengroup.osdu.indexer.schema.converter -package. - -<table> -<thead> -<tr class="header"> -<th>Name</th> -<th>Description</th> -<th>Type</th> -</tr> -</thead> -<tbody> -<tr class="odd"> -<td>config</td> -<td>Contains configuration classes, configuration can be changed via properties file</td> -<td>package</td> -</tr> -<tr class="even"> -<td>exception</td> -<td>Processing exceptions</td> -<td>package</td> -</tr> -<tr class="odd"> -<td>Interfaces/ SchemaToStorageFormat.java</td> -<td><p>Interface that provides</p> -<p>convertToString(String schemaServiceFormat, String kind); method</p></td> -<td>file</td> -</tr> -<tr class="even"> -<td>tags</td> -<td>Supported tags</td> -<td>package</td> -</tr> -<tr class="odd"> -<td>PropertiesProcessor.java</td> -<td>Recursively processes items</td> -<td>file</td> -</tr> -<tr class="even"> -<td>SchemaToStorageFormatImpl.java</td> -<td>Parse json, calls PropertiesProcessor</td> -<td>file</td> -</tr> -<tr class="odd"> -<td>Readme.md</td> -<td></td> -<td>file</td> -</tr> -</tbody> -</table> - -Package members. - -#### Unit tests - -If you have any issues with schema (loading, conversion, etc.) you can -easily create a unit test that checks a schema in -SchemaToStorageFormatImplTest class. - -For instance -```json -@Test(expected = SchemaProcessingException.**class**) -public void wrongDefinitions() { -testSingleFile("/converter/bad-schema/wrong-definitions-and-missed-type.json"**, -KIND); -} -``` -Expects that schema is wrong - -testSingleFile loads a schema, tries to convert it, then compares it -with expected storage schema that is loaded from <filename> + -“.res†file. - -Pay attention to folderPassed() method it recursively processes a set of -schemas in a folder. - -#### Troubleshooting. - -The latest schema converter tries to gather as much conversion errors as -possible (the more the better). Please see logs if conversion not -happens. - -If a processing of some schema generates unexpected errors take that -schema and investigate with unit test as was described before. - -#### Converter extensions/modifications - -a) Add new tags to schema.converter.tags package - -b) Modify PropertiesProcessor - -c) Add/change unit and integration tests \ No newline at end of file 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/SchemaProviderImpl.java similarity index 95% rename from indexer-core/src/main/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImpl.java rename to indexer-core/src/main/java/org/opengroup/osdu/indexer/service/SchemaProviderImpl.java index 3f49f188f8e4694e0fef4a3e366634a8a2a701de..c462c78e86e0760df5db46ff232126ed503d5ce1 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/SchemaProviderImpl.java @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -package org.opengroup.osdu.indexer.service.impl; +package org.opengroup.osdu.indexer.service; import com.google.api.client.http.HttpMethods; import org.apache.http.HttpStatus; @@ -65,7 +65,7 @@ public class SchemaProviderImpl implements SchemaService { try { schemaServiceSchema = getFromSchemaService(kind); } catch (RuntimeException ex) { - log.error("Failed to get the schema from the Schema service, kind:" + kind + ", message:" + ex.getMessage(), ex); + log.error(String.format("Failed to get the schema from the Schema service, kind: %s | message: %s", kind, ex.getMessage(), ex)); return null; } @@ -106,5 +106,4 @@ public class SchemaProviderImpl implements SchemaService { return this.urlFetchService.sendRequest(request); } - } 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/SchemaProviderImplTest.java similarity index 98% rename from indexer-core/src/test/java/org/opengroup/osdu/indexer/service/impl/SchemaProviderImplTest.java rename to indexer-core/src/test/java/org/opengroup/osdu/indexer/service/SchemaProviderImplTest.java index 020232985dcaa7569e0fa50d971fb65e1eb65700..9e6da1a355f2057eec76feaaa87ad47451a7ae52 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/SchemaProviderImplTest.java @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License.package org.opengroup.osdu.indexer.service.impl; -package org.opengroup.osdu.indexer.service.impl; +package org.opengroup.osdu.indexer.service; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; @@ -140,7 +140,7 @@ public class SchemaProviderImplTest { String kind = "tenant:test:test:1.0.0"; SchemaProviderImpl schemaService = Mockito.mock(SchemaProviderImpl.class); - PowerMockito.when(schemaService.getSchema(any())).thenCallRealMethod(); + when(schemaService.getSchema(any())).thenCallRealMethod(); InOrder inOrder = inOrder(schemaService); diff --git a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java index 6bae37e26cfb840db56275fe1a42f0afa8557677..631c840c22670a08200664c66aa8a0f82fc70ae6 100644 --- a/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java +++ b/provider/indexer-gcp/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java @@ -29,7 +29,7 @@ import org.opengroup.osdu.indexer.provider.interfaces.ISchemaCache; import org.opengroup.osdu.core.common.model.indexer.IndexSchema; import org.opengroup.osdu.core.common.model.http.RequestStatus; import org.opengroup.osdu.core.common.search.IndicesService; -import org.opengroup.osdu.indexer.service.impl.SchemaProviderImpl; +import org.opengroup.osdu.indexer.service.SchemaProviderImpl; import org.opengroup.osdu.indexer.util.ElasticClientHandler; import org.opengroup.osdu.core.common.search.ElasticIndexNameResolver; import org.powermock.core.classloader.annotations.PrepareForTest; diff --git a/provider/indexer-reference/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java b/provider/indexer-reference/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java index 4ce6eb4e8af4a45eddbc163baad9bb9cd6c2ef12..3b59eb203d3c9bd4391b0a25325ec30e70d06257 100644 --- a/provider/indexer-reference/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java +++ b/provider/indexer-reference/src/test/java/org/opengroup/osdu/indexer/service/IndexerSchemaServiceTest.java @@ -54,7 +54,7 @@ import org.opengroup.osdu.core.common.model.indexer.OperationType; import org.opengroup.osdu.core.common.search.ElasticIndexNameResolver; import org.opengroup.osdu.core.common.search.IndicesService; import org.opengroup.osdu.indexer.provider.interfaces.ISchemaCache; -import org.opengroup.osdu.indexer.service.impl.SchemaProviderImpl; +import org.opengroup.osdu.indexer.service.SchemaProviderImpl; import org.opengroup.osdu.indexer.util.ElasticClientHandler; import org.powermock.core.classloader.annotations.PrepareForTest; import org.springframework.test.context.junit4.SpringRunner;