diff options
Diffstat (limited to 'mso-api-handlers/mso-requests-db/src')
-rw-r--r-- | mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java index 9ab0f3b680..c0ce59dc66 100644 --- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java +++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/client/RequestsDbClient.java @@ -72,6 +72,8 @@ public class RequestsDbClient { private static final String REQUEST_ID = "REQUEST_ID"; private static final String OPERATIONAL_ENVIRONMENT_ID = "OPERATIONAL_ENV_ID"; private static final String SERVICE_MODEL_VERSION_ID = "SERVICE_MODEL_VERSION_ID"; + private static final String FLOW_EXECUTION_PATH = "flowExecutionPath"; + private static final String BPMN_EXECUTION_DATA_TAG = "BPMNExecutionData"; @Value("${mso.adapters.requestDb.endpoint:#{null}}") protected String endpoint; @@ -95,6 +97,8 @@ public class RequestsDbClient { private String findOneByServiceIdAndOperationIdURI = "/findOneByServiceIdAndOperationId"; + private String findOneByRequestId = "/infraActiveRequests/search/findOneByRequestId"; + private String findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdURI = "/findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestId"; @@ -110,6 +114,8 @@ public class RequestsDbClient { private static final String findBySoRequestIdAndGroupIdAndName = "/requestProcessingData/search/findOneBySoRequestIdAndGroupingIdAndName"; + private static final String findBySoRequestIdAndName = "/requestProcessingData/search/findOneBySoRequestIdAndName"; + private static final String findBySoRequestIdOrderByGroupingIdDesc = "/requestProcessingData/search/findBySoRequestIdOrderByGroupingIdDesc"; @@ -136,6 +142,7 @@ public class RequestsDbClient { + findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdURI; findAllByOperationalEnvIdAndRequestIdURI = endpoint + OPERATIONAL_ENV_SERVICE_MODEL_STATUS_SEARCH + findAllByOperationalEnvIdAndRequestIdURI; + findOneByRequestId = endpoint + findOneByRequestId; } private ClientFactory getClientFactory() { @@ -361,6 +368,27 @@ public class RequestsDbClient { .queryParam(GROUPING_ID, groupingId).build().toString())); } + public RequestProcessingData getRequestProcessingDataBySoRequestIdAndName(String soRequestId, String name) { + return getClientFactory().create(RequestProcessingData.class) + .get(getUri(UriBuilder.fromUri(endpoint + findBySoRequestIdAndName) + .queryParam(SO_REQUEST_ID, soRequestId).queryParam(NAME, name).build().toString())); + } + + + public void persistProcessingData(String flowExecutionPath, String requestId) { + + HttpHeaders headers = getHttpHeaders(); + URI uri = getUri(requestProcessingDataURI); + RequestProcessingData rpd = new RequestProcessingData(); + rpd.setName(FLOW_EXECUTION_PATH); + rpd.setSoRequestId(requestId); + rpd.setValue(flowExecutionPath); + rpd.setTag(BPMN_EXECUTION_DATA_TAG); + + HttpEntity<RequestProcessingData> entity = new HttpEntity<>(rpd, headers); + restTemplate.postForLocation(uri, entity); + } + private List<RequestProcessingData> getRequestProcessingData(URI uri) { Iterable<RequestProcessingData> requestProcessingDataIterator = getClientFactory().create(RequestProcessingData.class).getAll(uri); @@ -370,6 +398,20 @@ public class RequestsDbClient { return requestProcessingDataList; } + public InfraActiveRequests findOneByRequestId(String requestId) { + try { + HttpEntity<?> entity = getHttpEntity(); + return restTemplate.exchange( + getUri(UriBuilder.fromUri(findOneByRequestId).queryParam(REQUEST_ID, requestId).build().toString()), + HttpMethod.GET, entity, InfraActiveRequests.class).getBody(); + } catch (HttpClientErrorException e) { + if (HttpStatus.SC_NOT_FOUND == e.getStatusCode().value()) { + return null; + } + throw e; + } + } + // From and To are defaulted to ignore start/endtime on query to database public List<InfraActiveRequests> getRequest(final Map<String, String[]> filters) { String url = UriBuilder.fromUri(getUri(getInfraActiveRequests)).queryParam("from", "0") |