- RestClient restClient = restClientFactory.getRestClient(SchemaServiceClientType);
- ResponseEntity<Resource> schemaResponse = restClient.getGetResource(content, uri,
- headersMap);
- LOGGER.debug("SchemaResponse Status code" + schemaResponse.getStatusCode());
- inputStreams.add(schemaResponse.getBody().getInputStream());
- return inputStreams;
- }
-
- @Override
- public List<String> getJsonPayload(SchemaVersion version) throws IOException {
- /*
- * Call Schema MS to get versions using RestTemplate
- */
- List<String> inputStreams = new ArrayList<>();
- String content = "";
- String uri = edgeSchemaUri + version.toString();
- Map<String, String> headersMap = new HashMap<>();
-
- RestClient restClient = restClientFactory.getRestClient(SchemaServiceClientType);
-
- ResponseEntity<String> schemaResponse = restClient.getGetRequest(content, uri,
- headersMap);
- LOGGER.debug("SchemaResponse Status code" + schemaResponse.getStatusCode());
- inputStreams.add(schemaResponse.getBody());
- return inputStreams;
-
- }
+ final String content = "";
+ final String uri = nodeSchemaUri + version.toString();
+ ResponseEntity<Resource> schemaResponse = restClient.getGetResource(content, uri, headersMap);
+
+ verifySchemaServiceResponse(schemaResponse.getStatusCode());
+ LOGGER.debug("SchemaResponse Status code" + schemaResponse.getStatusCode());
+
+ Resource resultBody = schemaResponse.getBody();
+ return resultBody != null
+ ? Collections.singletonList(resultBody.getInputStream())
+ : Collections.emptyList();
+ }
+
+ @Override
+ public List<String> getJsonPayload(SchemaVersion version) throws IOException {
+ /*
+ * Call Schema MS to get versions using RestTemplate
+ */
+ final String content = "";
+ final String uri = edgeSchemaUri + version.toString();
+ final Map<String, String> headersMap = new HashMap<>();
+
+ ResponseEntity<String> schemaResponse = restClient.getGetRequest(content, uri, headersMap);
+ verifySchemaServiceResponse(schemaResponse.getStatusCode());
+ LOGGER.debug("SchemaResponse Status code" + schemaResponse.getStatusCode());
+ return Collections.singletonList(schemaResponse.getBody());
+
+ }
+
+ private void verifySchemaServiceResponse(HttpStatus statusCode) throws IOException {
+ if (statusCode != HttpStatus.OK) {
+ LOGGER.error("Please check the Schema Service. It returned with the status code {}", statusCode);
+ throw new IOException("SchemaService is not available");
+ }
+ }