Skip to content
Snippets Groups Projects
Commit e7ac67f0 authored by Sviatoslav Nekhaienko's avatar Sviatoslav Nekhaienko
Browse files

add calls to storage service

parent 06f2c62e
No related branches found
No related tags found
1 merge request!60Indexer to read from Schema Service as well as Storage Schema
......@@ -22,6 +22,7 @@ import org.opengroup.osdu.core.common.model.http.HttpResponse;
import org.opengroup.osdu.core.common.provider.interfaces.IRequestInfo;
import org.opengroup.osdu.indexer.schema.converter.interfaces.SchemaToStorageFormat;
import org.opengroup.osdu.indexer.service.SchemaService;
import org.opengroup.osdu.indexer.service.StorageService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
......@@ -48,6 +49,9 @@ public class SchemaServiceImpl implements SchemaService {
@Inject
private SchemaToStorageFormat schemaToStorageFormat;
@Inject
private StorageService storageService;
@Override
public String getSchema(String kind) throws URISyntaxException, UnsupportedEncodingException {
String url = String.format("%s/%s", SCHEMA_HOST, URLEncoder.encode(kind, StandardCharsets.UTF_8.toString()));
......@@ -57,6 +61,11 @@ public class SchemaServiceImpl implements SchemaService {
.url(url)
.build();
HttpResponse response = this.urlFetchService.sendRequest(request);
if (response.getResponseCode() == HttpStatus.SC_NOT_FOUND) {
return storageService.getStorageSchema(kind);
}
return response.getResponseCode() != HttpStatus.SC_OK ? null :
schemaToStorageFormat.convertToString(response.getBody(), kind);
}
......
......@@ -26,11 +26,13 @@ import org.opengroup.osdu.core.common.http.IUrlFetchService;
import org.opengroup.osdu.core.common.model.http.HttpResponse;
import org.opengroup.osdu.core.common.provider.interfaces.IRequestInfo;
import org.opengroup.osdu.indexer.schema.converter.SchemaToStorageFormatImpl;
import org.opengroup.osdu.indexer.service.StorageService;
import org.opengroup.osdu.indexer.service.impl.SchemaServiceImpl;
import org.springframework.http.HttpStatus;
import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
import org.springframework.test.context.junit4.SpringRunner;
import javax.inject.Inject;
import java.util.HashMap;
import static org.junit.Assert.assertNotNull;
......@@ -48,6 +50,8 @@ public class SchemaServiceTest {
private IUrlFetchService urlFetchService;
@Mock
private IRequestInfo requestInfo;
@Mock
private StorageService storageService;
@InjectMocks
private SchemaServiceImpl sut;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment