* limitations under the License.
* ============LICENSE_END=========================================================
*/
+
package org.onap.aai.setup;
-import com.att.eelf.configuration.EELFLogger;
-import com.att.eelf.configuration.EELFManager;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.onap.aai.restclient.RestClient;
-import org.onap.aai.restclient.RestClientFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import javax.ws.rs.HttpMethod;
-import java.io.*;
-import java.util.*;
-
/**
* <b>AAIConfigTranslator</b> is responsible for looking at the schema files and
* edge files based on the available versions Also has the ability to exclude
*/
public class SchemaServiceTranslator extends Translator {
- private static final EELFLogger LOGGER = EELFManager.getInstance().getLogger(SchemaServiceTranslator.class);
-
- private static final String SchemaServiceClientType = "schema.service";
-
- @Value("${schema.service.nodes.endpoint}")
- private String nodeSchemaUri;
+ private static final Logger LOGGER = LoggerFactory.getLogger(SchemaServiceTranslator.class);
- @Value("${schema.service.edges.endpoint}")
- private String edgeSchemaUri;
+ @Value("${schema.service.nodes.endpoint}")
+ private String nodeSchemaUri;
- @Autowired
- private RestClientFactory restClientFactory;
+ @Value("${schema.service.edges.endpoint}")
+ private String edgeSchemaUri;
- public SchemaServiceTranslator(SchemaVersions schemaVersions) {
- super(schemaVersions);
- }
+ @Autowired
+ private RestClient restClient;
- /*
- * (non-Javadoc)
- *
- * @see org.onap.aai.setup.ConfigTranslator#getNodeFiles()
- */
+ public SchemaServiceTranslator(SchemaVersions schemaVersions) {
+ super(schemaVersions);
+ }
- @Override
- public List<InputStream> getVersionNodeStream(SchemaVersion version) throws IOException {
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.onap.aai.setup.ConfigTranslator#getNodeFiles()
+ */
- List<InputStream> inputStreams = new ArrayList<>();
- String content = "";
- String uri = nodeSchemaUri + version.toString();
- Map<String, String> headersMap = new HashMap<>();
+ @Override
+ public List<InputStream> getVersionNodeStream(SchemaVersion version) throws IOException {
- headersMap.put(HttpHeaders.ACCEPT, MediaType.APPLICATION_XML.toString());
+ final Map<String, String> headersMap = new HashMap<>();
+ headersMap.put(HttpHeaders.ACCEPT, MediaType.APPLICATION_XML.toString());
headersMap.put(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_XML.toString());
- RestClient restClient = restClientFactory.getRestClient(SchemaServiceClientType);
- ResponseEntity<Resource> schemaResponse = restClient.getGetResource(content, uri,
- headersMap);
+ 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());
- inputStreams.add(schemaResponse.getBody().getInputStream());
- return inputStreams;
- }
+
+ 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
- */
- 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);
+ 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());
- inputStreams.add(schemaResponse.getBody());
- return inputStreams;
+ return Collections.singletonList(schemaResponse.getBody());
- }
+ }
private void verifySchemaServiceResponse(HttpStatus statusCode) throws IOException {
if (statusCode != HttpStatus.OK) {