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%2Foperations%2FDmiOperations.java;h=745007bd447d89190a49f82a731aa0918233e559;hb=d69742c1f02585ae5d82f49542581698367e9cde;hp=509728061ecad98160be57b659cbf89f6f1e157c;hpb=1a07fc039140525af388d6b8c30fbbce9e1ebf9f;p=cps.git diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiOperations.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiOperations.java index 509728061..745007bd4 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiOperations.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/DmiOperations.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= - * Copyright (C) 2021 Nordix Foundation + * Copyright (C) 2021-2022 Nordix Foundation + * Modifications Copyright (C) 2022 Bell Canada * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,95 +21,40 @@ package org.onap.cps.ncmp.api.impl.operations; -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.base.Strings; import lombok.Getter; -import lombok.extern.slf4j.Slf4j; +import lombok.RequiredArgsConstructor; import org.onap.cps.ncmp.api.impl.client.DmiRestClient; import org.onap.cps.ncmp.api.impl.config.NcmpConfiguration; -import org.onap.cps.ncmp.api.impl.exception.NcmpException; -import org.springframework.http.HttpHeaders; +import org.onap.cps.ncmp.api.impl.utils.DmiServiceUrlBuilder; +import org.onap.cps.utils.JsonObjectMapper; +import org.springframework.stereotype.Service; -@Slf4j +@RequiredArgsConstructor +@Service public class DmiOperations { @Getter public enum DataStoreEnum { PASSTHROUGH_OPERATIONAL("ncmp-datastore:passthrough-operational"), PASSTHROUGH_RUNNING("ncmp-datastore:passthrough-running"); - private String value; + private final String value; DataStoreEnum(final String value) { this.value = value; } } - protected ObjectMapper objectMapper; - protected PersistenceCmHandleRetriever cmHandlePropertiesRetriever; - protected DmiRestClient dmiRestClient; - protected NcmpConfiguration.DmiProperties dmiProperties; - - static final String URL_SEPARATOR = "/"; - - /** - * Constructor for {@code DmiOperations}. This method also manipulates url properties. - * - * @param dmiRestClient {@code DmiRestClient} - */ - public DmiOperations(final PersistenceCmHandleRetriever cmHandlePropertiesRetriever, - final ObjectMapper objectMapper, - final NcmpConfiguration.DmiProperties dmiProperties, - final DmiRestClient dmiRestClient) { - this.cmHandlePropertiesRetriever = cmHandlePropertiesRetriever; - this.objectMapper = objectMapper; - this.dmiRestClient = dmiRestClient; - this.dmiProperties = dmiProperties; - } - - String getCmHandleUrl(final String dmiServiceName, final String cmHandle) { - return dmiServiceName - + dmiProperties.getDmiBasePath() - + URL_SEPARATOR - + "v1" - + URL_SEPARATOR - + "ch" - + URL_SEPARATOR - + cmHandle - + URL_SEPARATOR; - } + protected final YangModelCmHandleRetriever yangModelCmHandleRetriever; + protected final JsonObjectMapper jsonObjectMapper; + protected final NcmpConfiguration.DmiProperties dmiProperties; + protected final DmiRestClient dmiRestClient; + protected final DmiServiceUrlBuilder dmiServiceUrlBuilder; String getDmiResourceUrl(final String dmiServiceName, final String cmHandle, final String resourceName) { - return getCmHandleUrl(dmiServiceName, cmHandle) + resourceName; - } - - static String appendOptionsQuery(final String url, final String optionsParamInQuery) { - if (Strings.isNullOrEmpty(optionsParamInQuery)) { - return url; - } - return url + "&options=" + optionsParamInQuery; - } - - static HttpHeaders prepareHeader(final String acceptParam) { - final var httpHeaders = new HttpHeaders(); - httpHeaders.set(HttpHeaders.ACCEPT, acceptParam); - return httpHeaders; + return dmiServiceUrlBuilder.getCmHandleUrl() + .pathSegment("{resourceName}") + .buildAndExpand(dmiServiceName, dmiProperties.getDmiBasePath(), cmHandle, resourceName).toUriString(); } - /** - * Convert DmiRequestBody to JSON. - * - * @param dmiRequestBody the dmi request body - * @return DmiRequestBody as JSON - */ - String getDmiRequestBodyAsString(final DmiRequestBody dmiRequestBody) { - try { - return objectMapper.writeValueAsString(dmiRequestBody); - } catch (final JsonProcessingException e) { - log.error("Parsing error occurred while converting Object to JSON."); - throw new NcmpException("Parsing error occurred while converting given object to JSON.", - e.getMessage()); - } - } }