diff options
Diffstat (limited to 'sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/swagger/RestconfApiController.java')
-rw-r--r-- | sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/swagger/RestconfApiController.java | 191 |
1 files changed, 179 insertions, 12 deletions
diff --git a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/swagger/RestconfApiController.java b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/swagger/RestconfApiController.java index 2972cd79..aa9a9d7e 100644 --- a/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/swagger/RestconfApiController.java +++ b/sliapi/springboot/src/main/java/org/onap/ccsdk/sli/core/sliapi/springboot/controllers/swagger/RestconfApiController.java @@ -20,38 +20,53 @@ package org.onap.ccsdk.sli.core.sliapi.springboot.controllers.swagger; -import java.util.Map; -import java.util.Optional; -import java.util.Properties; -import javax.servlet.http.HttpServletRequest; -import javax.validation.Valid; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.Gson; +import com.google.gson.JsonObject; import org.onap.ccsdk.sli.core.sli.SvcLogicContext; import org.onap.ccsdk.sli.core.sli.SvcLogicException; import org.onap.ccsdk.sli.core.sli.provider.base.SvcLogicServiceBase; import org.onap.ccsdk.sli.core.sliapi.model.ExecuteGraphInput; import org.onap.ccsdk.sli.core.sliapi.model.ResponseFields; -import org.onap.ccsdk.sli.core.sliapi.springboot.controllers.swagger.RestconfApi; +import org.onap.ccsdk.sli.core.sliapi.model.TestResult; +import org.onap.ccsdk.sli.core.sliapi.model.TestResults; +import org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data.TestResultConfig; +import org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data.TestResultsConfigRepository; +import org.onap.ccsdk.sli.core.sliapi.springboot.controllers.data.TestResultsOperationalRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.context.annotation.ComponentScan; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.gson.Gson; -import com.google.gson.JsonObject; + +import javax.servlet.http.HttpServletRequest; +import javax.validation.Valid; +import java.util.*; @javax.annotation.Generated(value = "io.swagger.codegen.languages.SpringCodegen", date = "2020-02-20T12:50:11.207-05:00") @Controller +@ComponentScan(basePackages = {"org.onap.ccsdk.sli.core.sliapi.springboot.*"}) +@EntityScan("org.onap.ccsdk.sli.core.sliapi.springboot.*") public class RestconfApiController implements RestconfApi { private final ObjectMapper objectMapper; private final HttpServletRequest request; - @Autowired - protected SvcLogicServiceBase svc; + @Autowired + protected SvcLogicServiceBase svc; + + @Autowired + private TestResultsConfigRepository testResultsConfigRepository; + + @Autowired + private TestResultsOperationalRepository testResultsOperationalRepository; + private static final Logger log = LoggerFactory.getLogger(RestconfApiController.class); @org.springframework.beans.factory.annotation.Autowired @@ -175,6 +190,158 @@ public class RestconfApiController implements RestconfApi { } } + @Override + public ResponseEntity<Void> deleteTestResult(String testIdentifier) { + + List<TestResultConfig> testResultConfigs = testResultsConfigRepository.findByTestIdentifier(testIdentifier); + + if (testResultConfigs != null) { + Iterator<TestResultConfig> testResultConfigIterator = testResultConfigs.iterator(); + while (testResultConfigIterator.hasNext()) { + testResultsConfigRepository.delete(testResultConfigIterator.next()); + } + } + + return (new ResponseEntity<>(HttpStatus.OK)); + } + + @Override + public ResponseEntity<Void> deleteTestResults() { + + testResultsConfigRepository.deleteAll(); + + return (new ResponseEntity<>(HttpStatus.OK)); + } + + @Override + public ResponseEntity<TestResults> gETTestResults() { + + TestResults results = new TestResults(); + + testResultsOperationalRepository.findAll().forEach(testResult -> { + TestResult item = null; + try { + item = objectMapper.readValue(testResult.getResults(), TestResult.class); + results.addTestResultsItem(item); + } catch (JsonProcessingException e) { + log.error("Could not convert testResult", e); + } + }); + + + return new ResponseEntity<>(results, HttpStatus.OK); + } + + @Override + public ResponseEntity<TestResult> getTestResult(String testIdentifier) { + List<TestResultConfig> testResultConfigs = testResultsConfigRepository.findByTestIdentifier(testIdentifier); + + if ((testResultConfigs == null) || (testResultConfigs.size() == 0)) { + return new ResponseEntity<>(HttpStatus.NOT_FOUND); + } else { + TestResultConfig testResultConfig = testResultConfigs.get(0); + TestResult testResult = null; + try { + testResult = objectMapper.readValue(testResultConfig.getResults(), TestResult.class); + } catch (JsonProcessingException e) { + log.error("Cannot convert test result", e); + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + + + return new ResponseEntity<>(testResult, HttpStatus.OK); + } + } + + @Override + public ResponseEntity<TestResults> getTestResults() { + if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { + } else { + log.warn("ObjectMapper or HttpServletRequest not configured in default RestconfApi interface so no example is generated"); + } + + TestResults results = new TestResults(); + + testResultsConfigRepository.findAll().forEach(testResult -> { + TestResult item = null; + try { + item = objectMapper.readValue(testResult.getResults(), TestResult.class); + results.addTestResultsItem(item); + } catch (JsonProcessingException e) { + log.error("Could not convert testResult", e); + } + }); + + + return new ResponseEntity<>(results, HttpStatus.OK); + } + + @Override + public ResponseEntity<TestResult> pUTTestResult(String testIdentifier, @Valid TestResult testResult) { + if(getObjectMapper().isPresent() && getAcceptHeader().isPresent()) { + } else { + log.warn("ObjectMapper or HttpServletRequest not configured in default RestconfApi interface so no example is generated"); + } + + List<TestResultConfig> testResultConfigs = testResultsConfigRepository.findByTestIdentifier(testIdentifier); + Iterator<TestResultConfig> testResultIter = testResultConfigs.iterator(); + while (testResultIter.hasNext()) { + testResultsConfigRepository.delete(testResultIter.next()); + } + + TestResultConfig testResultConfig = null; + try { + testResultConfig = new TestResultConfig(testResult.getTestIdentifier(), objectMapper.writeValueAsString(testResult)); + testResultsConfigRepository.save(testResultConfig); + } catch (JsonProcessingException e) { + log.error("Could not save test result", e); + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + + return new ResponseEntity<>(testResult, HttpStatus.OK); + } + + @Override + public ResponseEntity<TestResults> postTestResults(@Valid TestResults testResults) { + List<TestResult> resultList = testResults.getTestResults(); + + Iterator<TestResult> resultIterator = resultList.iterator(); + + while (resultIterator.hasNext()) { + TestResult curResult = resultIterator.next(); + try { + testResultsConfigRepository.save(new TestResultConfig(curResult.getTestIdentifier(), objectMapper.writeValueAsString(curResult))); + } catch (JsonProcessingException e) { + log.error("Could not save test result", e); + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + return new ResponseEntity<>(testResults, HttpStatus.OK); + } + + @Override + public ResponseEntity<TestResults> putTestResults(@Valid TestResults testResults) { + testResultsConfigRepository.deleteAll(); + + List<TestResult> resultList = testResults.getTestResults(); + + Iterator<TestResult> resultIterator = resultList.iterator(); + + + while (resultIterator.hasNext()) { + TestResult curResult = resultIterator.next(); + try { + testResultsConfigRepository.save(new TestResultConfig(curResult.getTestIdentifier(), objectMapper.writeValueAsString(curResult))); + } catch (JsonProcessingException e) { + log.error("Could not save test result", e); + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + return new ResponseEntity<>(testResults, HttpStatus.OK); + } + public static String propsToJson(Properties props, String root) { StringBuffer sbuff = new StringBuffer(); |