X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=cps-ncmp-service%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fcps%2Fncmp%2Fapi%2Fimpl%2Foperation%2FDmiOperations.java;h=8896b9fd5954390cb880ac8b56fe162d6cdfea09;hb=0af60de4fbb3a3e6c828e179c667b173b1539b62;hp=63c4d49a9152cff308b96ad825443345ff5807ef;hpb=7edbeb6d5853206cc1d3b4cadd7ba50e96f4f04d;p=cps.git diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operation/DmiOperations.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operation/DmiOperations.java index 63c4d49a9..8896b9fd5 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operation/DmiOperations.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operation/DmiOperations.java @@ -30,7 +30,6 @@ import org.springframework.stereotype.Component; @Component public class DmiOperations { - @Getter public enum DataStoreEnum { PASSTHROUGH_OPERATIONAL("ncmp-datastore:passthrough-operational"), @@ -49,9 +48,9 @@ public class DmiOperations { } private DmiRestClient dmiRestClient; - private static final String DMI_BASE_PATH = "/dmi/api"; - private static final String PARENT_CM_HANDLE_URI = - "/v1/ch/{cmHandle}/data/ds"; + private static final String DMI_API_PATH = "/dmi/api"; + private static final String DMI_CM_HANDLE_PATH = "/v1/ch/{cmHandle}"; + private static final String DMI_CM_HANDLE_DATASTORE_PATH = DMI_CM_HANDLE_PATH + "/data/ds"; private static final String URL_SEPARATOR = "/"; /** @@ -63,28 +62,45 @@ public class DmiOperations { this.dmiRestClient = dmiRestClient; } + /** + * Get resources from DMI. + * + * @param dmiServiceName dmi base path + * @param cmHandle cmHandle + * @param resourceName name of the resource(s) + * @return {@code ResponseEntity} response entity + */ + public ResponseEntity getResourceFromDmi(final String dmiServiceName, + final String cmHandle, + final String resourceName) { + final var dmiResourceDataUrl = getDmiResourceUrl(dmiServiceName, cmHandle, resourceName); + final var httpHeaders = new HttpHeaders(); + return dmiRestClient.postOperation(dmiResourceDataUrl, httpHeaders); + + } + /** * This method fetches the resource data from operational data store for given cm handle * identifier on given resource using dmi client. * - * @param dmiBasePath dmi base path - * @param cmHandle network resource identifier - * @param resourceId resource identifier + * @param dmiServiceName dmi service name + * @param cmHandle network resource identifier + * @param resourceId resource identifier * @param fieldsQuery fields query - * @param depthQuery depth query + * @param depthQuery depth query * @param acceptParam accept parameter - * @param jsonBody json body for put operation + * @param jsonBody json body for put operation * @return {@code ResponseEntity} response entity */ - public ResponseEntity getResourceDataOperationalFromDmi(final String dmiBasePath, + public ResponseEntity getResourceDataOperationalFromDmi(final String dmiServiceName, final String cmHandle, final String resourceId, final String fieldsQuery, final Integer depthQuery, final String acceptParam, final String jsonBody) { - final var dmiResourceDataUrl = getDmiResourceDataUrl(dmiBasePath, cmHandle, resourceId, - fieldsQuery, depthQuery, DataStoreEnum.PASSTHROUGH_OPERATIONAL); + final var dmiResourceDataUrl = getDmiDatastoreUrl(dmiServiceName, cmHandle, resourceId, + fieldsQuery, depthQuery, DataStoreEnum.PASSTHROUGH_OPERATIONAL); final var httpHeaders = prepareHeader(acceptParam); return dmiRestClient.putOperationWithJsonData(dmiResourceDataUrl, jsonBody, httpHeaders); } @@ -93,24 +109,24 @@ public class DmiOperations { * This method fetches the resource data from pass-through running data store for given cm handle * identifier on given resource using dmi client. * - * @param dmiBasePath dmi base path - * @param cmHandle network resource identifier - * @param resourceId resource identifier + * @param dmiServiceName dmi service name + * @param cmHandle network resource identifier + * @param resourceId resource identifier * @param fieldsQuery fields query - * @param depthQuery depth query + * @param depthQuery depth query * @param acceptParam accept parameter - * @param jsonBody json body for put operation + * @param jsonBody json body for put operation * @return {@code ResponseEntity} response entity */ - public ResponseEntity getResourceDataPassThroughRunningFromDmi(final String dmiBasePath, + public ResponseEntity getResourceDataPassThroughRunningFromDmi(final String dmiServiceName, final String cmHandle, final String resourceId, final String fieldsQuery, final Integer depthQuery, final String acceptParam, final String jsonBody) { - final var dmiResourceDataUrl = getDmiResourceDataUrl(dmiBasePath, cmHandle, resourceId, - fieldsQuery, depthQuery, DataStoreEnum.PASSTHROUGH_RUNNING); + final var dmiResourceDataUrl = getDmiDatastoreUrl(dmiServiceName, cmHandle, resourceId, + fieldsQuery, depthQuery, DataStoreEnum.PASSTHROUGH_RUNNING); final var httpHeaders = prepareHeader(acceptParam); return dmiRestClient.putOperationWithJsonData(dmiResourceDataUrl, jsonBody, httpHeaders); } @@ -120,9 +136,9 @@ public class DmiOperations { * identifier on given resource using dmi client. * * @param dmiBasePath dmi base path - * @param cmHandle network resource identifier - * @param resourceId resource identifier - * @param jsonBody json body for put operation + * @param cmHandle network resource identifier + * @param resourceId resource identifier + * @param jsonBody json body for put operation * @return {@code ResponseEntity} response entity */ public ResponseEntity createResourceDataPassThroughRunningFromDmi(final String dmiBasePath, @@ -130,19 +146,30 @@ public class DmiOperations { final String resourceId, final String jsonBody) { final var stringBuilder = getStringBuilderForPassThroughRunningUrl(dmiBasePath, - cmHandle, resourceId, DataStoreEnum.PASSTHROUGH_RUNNING); + cmHandle, resourceId, DataStoreEnum.PASSTHROUGH_RUNNING); return dmiRestClient.postOperationWithJsonData(stringBuilder.toString(), jsonBody, new HttpHeaders()); } @NotNull - private String getDmiResourceDataUrl(final String dmiBasePath, - final String cmHandle, - final String resourceId, - final String fieldsQuery, - final Integer depthQuery, - final DataStoreEnum dataStoreEnum) { - final var stringBuilder = getStringBuilderForPassThroughRunningUrl(dmiBasePath, - cmHandle, resourceId, dataStoreEnum); + private String getDmiResourceUrl(final String dmiServiceName, + final String cmHandle, + final String resourceName) { + final var stringBuilder = new StringBuilder(dmiServiceName); + stringBuilder.append(DMI_API_PATH); + stringBuilder.append(DMI_CM_HANDLE_PATH.replace("{cmHandle}", cmHandle)); + stringBuilder.append(URL_SEPARATOR + resourceName); + return stringBuilder.toString(); + } + + @NotNull + private String getDmiDatastoreUrl(final String dmiServiceName, + final String cmHandle, + final String resourceId, + final String fieldsQuery, + final Integer depthQuery, + final DataStoreEnum dataStoreEnum) { + final var stringBuilder = getStringBuilderForPassThroughRunningUrl(dmiServiceName, + cmHandle, resourceId, dataStoreEnum); appendFieldsAndDepth(stringBuilder, fieldsQuery, depthQuery); return stringBuilder.toString(); } @@ -152,11 +179,11 @@ public class DmiOperations { final String cmHandle, final String resourceId, final DataStoreEnum dataStoreEnum) { - final var stringBuilder = new StringBuilder(dmiServiceName); - stringBuilder.append(DMI_BASE_PATH); - stringBuilder.append(PARENT_CM_HANDLE_URI.replace("{cmHandle}", cmHandle)); + final var stringBuilder = new StringBuilder(dmiServiceName); + stringBuilder.append(DMI_API_PATH); + stringBuilder.append(DMI_CM_HANDLE_DATASTORE_PATH.replace("{cmHandle}", cmHandle)); stringBuilder.append(URL_SEPARATOR + dataStoreEnum.getValue()); - stringBuilder.insert(stringBuilder.length(), URL_SEPARATOR + resourceId); + stringBuilder.append(URL_SEPARATOR + resourceId); return stringBuilder; }