diff options
author | tragait <rahul.tyagi@est.tech> | 2021-10-04 16:02:57 +0100 |
---|---|---|
committer | tragait <rahul.tyagi@est.tech> | 2021-10-06 15:21:12 +0100 |
commit | 907e3785a7cbaba28f5d4bf7ce3c4a7b47dff39e (patch) | |
tree | f726e5dcdd5e485dc3e840cb850504bc7c5df78e /src/main/java/org/onap/cps/ncmp/dmi/service/operation | |
parent | 9ee0feb24f8f75ce05cf9e34e4621cf2b226657e (diff) |
fix query param to options
Issue-ID: CPS-678
Signed-off-by: tragait <rahul.tyagi@est.tech>
Change-Id: I4ac72da512e2c7883920907137b8834ce20d4528
Diffstat (limited to 'src/main/java/org/onap/cps/ncmp/dmi/service/operation')
-rw-r--r-- | src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java | 47 |
1 files changed, 26 insertions, 21 deletions
diff --git a/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java b/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java index 73503d23..98371bf9 100644 --- a/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java +++ b/src/main/java/org/onap/cps/ncmp/dmi/service/operation/SdncOperations.java @@ -20,6 +20,7 @@ package org.onap.cps.ncmp.dmi.service.operation; +import java.util.Arrays; import java.util.LinkedList; import java.util.List; import org.apache.groovy.parser.antlr4.util.StringUtils; @@ -92,23 +93,22 @@ public class SdncOperations { * * @param nodeId network resource identifier * @param resourceId resource identifier - * @param fieldsValue fields query - * @param depthValue depth query - * @param acceptParam accept parameter + * @param optionsParamInQuery fields query + * @param acceptParamInHeader accept parameter + * @param restconfContentQueryParam restconf content query param * @return {@code ResponseEntity} response entity */ public ResponseEntity<String> getResouceDataForOperationalAndRunning(final String nodeId, final String resourceId, - final String fieldsValue, - final Integer depthValue, - final String acceptParam, - final String contentQuery) { + final String optionsParamInQuery, + final String acceptParamInHeader, + final String restconfContentQueryParam) { final String getResourceDataUrl = prepareResourceDataUrl(nodeId, resourceId, - getQueryList(fieldsValue, depthValue, contentQuery)); + buildQueryParamList(optionsParamInQuery, restconfContentQueryParam)); final HttpHeaders httpHeaders = new HttpHeaders(); - if (!StringUtils.isEmpty(acceptParam)) { - httpHeaders.set(HttpHeaders.ACCEPT, acceptParam); + if (!StringUtils.isEmpty(acceptParamInHeader)) { + httpHeaders.set(HttpHeaders.ACCEPT, acceptParamInHeader); } return sdncRestconfClient.getOperation(getResourceDataUrl, httpHeaders); } @@ -131,20 +131,25 @@ public class SdncOperations { } @NotNull - private List<String> getQueryList(final String fieldsValue, final Integer depthValue, final String contentQuery) { - final List<String> queryList = new LinkedList<>(); - if (!StringUtils.isEmpty(fieldsValue)) { - queryList.add("fields=" + fieldsValue); - } - if (depthValue != null) { - queryList.add("depth=" + depthValue); - } - if (!StringUtils.isEmpty(contentQuery)) { - queryList.add(contentQuery); + private List<String> buildQueryParamList(final String optionsParamInQuery, final String restconfContentQueryParam) { + final List<String> queryParamAsList = getOptionsParamAsList(optionsParamInQuery); + queryParamAsList.add(restconfContentQueryParam); + return queryParamAsList; + } + + private List<String> getOptionsParamAsList(final String optionsParamInQuery) { + final List<String> queryParamAsList = new LinkedList<>(); + if (!StringUtils.isEmpty(optionsParamInQuery)) { + final String tempQuery = stripParenthesisFromOptionsQuery(optionsParamInQuery); + queryParamAsList.addAll(Arrays.asList(tempQuery.split(","))); } - return queryList; + return queryParamAsList; } + @NotNull + private String stripParenthesisFromOptionsQuery(final String optionsParamInQuery) { + return optionsParamInQuery.substring(1, optionsParamInQuery.length() - 1); + } @NotNull private String prepareGetSchemaUrl(final String nodeId) { |