summaryrefslogtreecommitdiffstats
path: root/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operation/DmiOperations.java
diff options
context:
space:
mode:
Diffstat (limited to 'cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operation/DmiOperations.java')
-rw-r--r--cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operation/DmiOperations.java229
1 files changed, 0 insertions, 229 deletions
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
deleted file mode 100644
index 40a47ecf6..000000000
--- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operation/DmiOperations.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * Copyright (C) 2021 Nordix Foundation
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- * SPDX-License-Identifier: Apache-2.0
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.cps.ncmp.api.impl.operation;
-
-import com.fasterxml.jackson.annotation.JsonValue;
-import lombok.Getter;
-import org.onap.cps.ncmp.api.impl.client.DmiRestClient;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Component;
-
-@Component
-public class DmiOperations {
- @Getter
- public enum DataStoreEnum {
- PASSTHROUGH_OPERATIONAL("ncmp-datastore:passthrough-operational"),
- PASSTHROUGH_RUNNING("ncmp-datastore:passthrough-running");
- private String value;
-
- DataStoreEnum(final String value) {
- this.value = value;
- }
-
- @Override
- @JsonValue
- public String toString() {
- return value;
- }
- }
-
- private DmiRestClient dmiRestClient;
- private static final String DMI_API_PATH = "/dmi";
- 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 = "/";
- private static final String RESOURCE_IDENTIFIER = "resourceIdentifier";
- private static final String OPTIONS_QUERY_KEY = "options";
-
-
- /**
- * Constructor for {@code DmiOperations}. This method also manipulates url properties.
- *
- * @param dmiRestClient {@code DmiRestClient}
- */
- public DmiOperations(final DmiRestClient dmiRestClient) {
- this.dmiRestClient = dmiRestClient;
- }
-
- /**
- * Get resources from DMI.
- *
- * @param dmiServiceName dmi service name
- * @param cmHandle cmHandle
- * @param resourceName name of the resource(s)
- * @return {@code ResponseEntity} response entity
- */
- public ResponseEntity<String> 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);
- }
-
- /**
- * Get resources from DMI for modules.
- *
- * @param dmiServiceName dmi service name
- * @param jsonData module names and revisions as JSON
- * @param cmHandle cmHandle
- * @param resourceName name of the resource(s)
- * @return {@code ResponseEntity} response entity
- */
- public ResponseEntity<String> getResourceFromDmiWithJsonData(final String dmiServiceName,
- final String jsonData,
- final String cmHandle,
- final String resourceName) {
- final String dmiResourceDataUrl = getDmiResourceUrl(dmiServiceName, cmHandle, resourceName);
- return dmiRestClient.postOperationWithJsonData(dmiResourceDataUrl, jsonData, new HttpHeaders());
- }
-
- /**
- * This method fetches the resource data from operational data store for given cm handle
- * identifier on given resource using dmi client.
- *
- * @param dmiServiceName dmi service name
- * @param cmHandle network resource identifier
- * @param resourceId resource identifier
- * @param optionsParamInQuery options query
- * @param acceptParamInHeader accept parameter
- * @param jsonBody json body for put operation
- * @return {@code ResponseEntity} response entity
- */
- public ResponseEntity<Object> getResourceDataOperationalFromDmi(final String dmiServiceName,
- final String cmHandle,
- final String resourceId,
- final String optionsParamInQuery,
- final String acceptParamInHeader,
- final String jsonBody) {
- final var dmiResourceDataUrl = getDmiDatastoreUrl(dmiServiceName, cmHandle, resourceId,
- optionsParamInQuery, DataStoreEnum.PASSTHROUGH_OPERATIONAL);
- final var httpHeaders = prepareHeader(acceptParamInHeader);
- return dmiRestClient.putOperationWithJsonData(dmiResourceDataUrl, jsonBody, httpHeaders);
- }
-
- /**
- * This method fetches the resource data from pass-through running data store for given cm handle
- * identifier on given resource using dmi client.
- *
- * @param dmiServiceName dmi service name
- * @param cmHandle network resource identifier
- * @param resourceId resource identifier
- * @param optionsParamInQuery fields query
- * @param acceptParamInHeader accept parameter
- * @param jsonBody json body for put operation
- * @return {@code ResponseEntity} response entity
- */
- public ResponseEntity<Object> getResourceDataPassThroughRunningFromDmi(final String dmiServiceName,
- final String cmHandle,
- final String resourceId,
- final String optionsParamInQuery,
- final String acceptParamInHeader,
- final String jsonBody) {
- final var dmiResourceDataUrl = getDmiDatastoreUrl(dmiServiceName, cmHandle, resourceId,
- optionsParamInQuery, DataStoreEnum.PASSTHROUGH_RUNNING);
- final var httpHeaders = prepareHeader(acceptParamInHeader);
- return dmiRestClient.putOperationWithJsonData(dmiResourceDataUrl, jsonBody, httpHeaders);
- }
-
- /**
- * This method creates the resource data from pass-through running data store for given cm handle
- * identifier on given resource using dmi client.
- *
- * @param dmiServiceName dmi service name
- * @param cmHandle network resource identifier
- * @param resourceId resource identifier
- * @param jsonBody json body for put operation
- * @return {@code ResponseEntity} response entity
- */
- public ResponseEntity<String> createResourceDataPassThroughRunningFromDmi(final String dmiServiceName,
- final String cmHandle,
- final String resourceId,
- final String jsonBody) {
- final var stringBuilder = getStringBuilderForPassThroughUrl(dmiServiceName,
- cmHandle, resourceId, DataStoreEnum.PASSTHROUGH_RUNNING);
- return dmiRestClient.postOperationWithJsonData(stringBuilder.toString(), jsonBody, new HttpHeaders());
- }
-
- 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();
- }
-
- /**
- * This method updates the resource data from pass-through running data store for the cm handle identifier on given
- * resource using dmi client.
- *
- * @param dmiServiceName dmi service name
- * @param cmHandle network resource identifier
- * @param resourceId resource identifier
- * @param jsonBody json body for put operation
- * @return {@code ResponseEntity} response entity
- */
- public ResponseEntity<String> updateResourceDataPassThroughRunningFromDmi(final String dmiServiceName,
- final String cmHandle, final String resourceId, final String jsonBody) {
- final StringBuilder stringBuilder =
- getStringBuilderForPassThroughUrl(dmiServiceName, cmHandle, resourceId, DataStoreEnum.PASSTHROUGH_RUNNING);
- return dmiRestClient.postOperationWithJsonData(stringBuilder.toString(), jsonBody, new HttpHeaders());
- }
-
- private String getDmiDatastoreUrl(final String dmiServiceName,
- final String cmHandle,
- final String resourceId,
- final String optionsParamInQuery,
- final DataStoreEnum dataStoreEnum) {
- final var stringBuilder = getStringBuilderForPassThroughUrl(dmiServiceName,
- cmHandle, resourceId, dataStoreEnum);
- appendOptionsQuery(stringBuilder, optionsParamInQuery);
- return stringBuilder.toString();
- }
-
- private StringBuilder getStringBuilderForPassThroughUrl(final String dmiServiceName,
- final String cmHandle,
- final String resourceId,
- final DataStoreEnum dataStoreEnum) {
- 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.append("?" + RESOURCE_IDENTIFIER + "=" + resourceId);
- return stringBuilder;
- }
-
- private void appendOptionsQuery(final StringBuilder stringBuilder,
- final String optionsParamInQuery) {
- if (optionsParamInQuery != null) {
- stringBuilder.append("&").append(OPTIONS_QUERY_KEY).append("=").append(optionsParamInQuery);
- }
- }
-
- private HttpHeaders prepareHeader(final String acceptParam) {
- final var httpHeaders = new HttpHeaders();
- httpHeaders.set(HttpHeaders.ACCEPT, acceptParam);
- return httpHeaders;
- }
-}