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%2Fyangmodels%2FYangModelCmHandle.java;h=2ca2b2eb0db6b4ed854f26c44b883e006b011cc2;hb=HEAD;hp=5f98f14995979b54e1706a02b57be95fb58619e0;hpb=a230fafadb6bf262abc6d77eae327a16181330e4;p=cps.git diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmHandle.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmHandle.java deleted file mode 100644 index 5f98f1499..000000000 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/yangmodels/YangModelCmHandle.java +++ /dev/null @@ -1,189 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2021-2023 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.yangmodels; - -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonInclude.Include; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.google.common.base.Strings; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; -import org.onap.cps.ncmp.api.impl.operations.RequiredDmiService; -import org.onap.cps.ncmp.api.inventory.CompositeState; -import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle; - -/** - * Cm Handle which follows the Yang resource dmi registry model when persisting data to DMI or the DB. - * Yang model CmHandle - */ -@Getter -@Setter -@NoArgsConstructor -@JsonInclude(Include.NON_NULL) -@EqualsAndHashCode(onlyExplicitlyIncluded = true) -public class YangModelCmHandle { - - @EqualsAndHashCode.Include - private String id; - - @JsonProperty("dmi-service-name") - private String dmiServiceName; - - @JsonProperty("dmi-data-service-name") - private String dmiDataServiceName; - - @JsonProperty("state") - private CompositeState compositeState; - - @JsonProperty("dmi-model-service-name") - private String dmiModelServiceName; - - @JsonProperty("additional-properties") - private List dmiProperties; - - @JsonProperty("public-properties") - private List publicProperties; - - /** - * Creates a deep copy of Yang Model Cm Handle. - * - * @param original Yang Model Cm Handle - * @return instance of yangModelCmHandle - */ - public static YangModelCmHandle deepCopyOf(final YangModelCmHandle original) { - final YangModelCmHandle copy = new YangModelCmHandle(); - copy.id = original.getId(); - copy.dmiServiceName = original.getDmiServiceName(); - copy.dmiDataServiceName = original.getDmiDataServiceName(); - copy.dmiModelServiceName = original.getDmiModelServiceName(); - copy.compositeState = - original.getCompositeState() == null ? null : new CompositeState(original.getCompositeState()); - copy.dmiProperties = original.getDmiProperties() == null ? null : new ArrayList<>(original.getDmiProperties()); - copy.publicProperties = - original.getPublicProperties() == null ? null : new ArrayList<>(original.getPublicProperties()); - return copy; - } - - /** - * Create a yangModelCmHandle. - * - * @param dmiServiceName dmi service name - * @param dmiDataServiceName dmi data service name - * @param dmiModelServiceName dmi model service name - * @param ncmpServiceCmHandle the cm handle - * @return instance of yangModelCmHandle - */ - public static YangModelCmHandle toYangModelCmHandle(final String dmiServiceName, - final String dmiDataServiceName, - final String dmiModelServiceName, - final NcmpServiceCmHandle ncmpServiceCmHandle) { - final YangModelCmHandle yangModelCmHandle = new YangModelCmHandle(); - yangModelCmHandle.setId(ncmpServiceCmHandle.getCmHandleId()); - yangModelCmHandle.setDmiServiceName(dmiServiceName); - yangModelCmHandle.setDmiDataServiceName(dmiDataServiceName); - yangModelCmHandle.setDmiModelServiceName(dmiModelServiceName); - yangModelCmHandle.setDmiProperties(asYangModelCmHandleProperties(ncmpServiceCmHandle.getDmiProperties())); - yangModelCmHandle.setPublicProperties(asYangModelCmHandleProperties( - ncmpServiceCmHandle.getPublicProperties())); - yangModelCmHandle.setCompositeState(ncmpServiceCmHandle.getCompositeState()); - return yangModelCmHandle; - } - - - /** - * Create a yangModelCmHandle without the use of NcmpServiceHandle. - * - * @param dmiServiceName dmi service name - * @param dmiDataServiceName dmi data service name - * @param dmiModelServiceName dmi model service name - * @param cmHandleId the cm handle id - * @param dmiProperties dmiProperties - * @param publicProperties publicProperties - * @param compositeState compositeState - * @return instance of yangModelCmHandle - */ - public static YangModelCmHandle toYangModelCmHandleWithoutNcmpServiceHandle(final String dmiServiceName, - final String dmiDataServiceName, - final String dmiModelServiceName, - final String cmHandleId, - final Map dmiProperties, - final Map publicProperties, - final CompositeState compositeState) { - final YangModelCmHandle yangModelCmHandle = new YangModelCmHandle(); - yangModelCmHandle.setId(cmHandleId); - yangModelCmHandle.setDmiServiceName(dmiServiceName); - yangModelCmHandle.setDmiDataServiceName(dmiDataServiceName); - yangModelCmHandle.setDmiModelServiceName(dmiModelServiceName); - yangModelCmHandle.setDmiProperties(asYangModelCmHandleProperties(dmiProperties)); - yangModelCmHandle.setPublicProperties(asYangModelCmHandleProperties(publicProperties)); - yangModelCmHandle.setCompositeState(compositeState); - return yangModelCmHandle; - } - - - /** - * Resolve a dmi service name. - * - * @param requiredService indicates what typo of service is required - * @return dmi service name - */ - public String resolveDmiServiceName(final RequiredDmiService requiredService) { - if (isNullEmptyOrBlank(dmiServiceName)) { - if (RequiredDmiService.DATA.equals(requiredService)) { - return dmiDataServiceName; - } - return dmiModelServiceName; - } - return dmiServiceName; - } - - private static List asYangModelCmHandleProperties(final Map propertiesAsMap) { - final List yangModelCmHandleProperties = new ArrayList<>(propertiesAsMap.size()); - for (final Map.Entry entry : propertiesAsMap.entrySet()) { - yangModelCmHandleProperties.add(new YangModelCmHandle.Property(entry.getKey(), entry.getValue())); - } - return yangModelCmHandleProperties; - } - - private static boolean isNullEmptyOrBlank(final String serviceName) { - return Strings.isNullOrEmpty(serviceName) || serviceName.isBlank(); - } - - @AllArgsConstructor - @Data - public static class Property { - - @JsonProperty() - private final String name; - - @JsonProperty() - private final String value; - } - -}