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%2FYangModelCmHandleRetriever.java;h=0edd68c3d54c2638cbc410d7d0160eed5c84d732;hb=e7ba1dee7d0431d00a67e078434778b559019e98;hp=b1ac91d7a3d681e571991af2bb51dc1bfc0b3228;hpb=a0b8fb72f9ab872ec554b812db10758592b5a294;p=cps.git diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/YangModelCmHandleRetriever.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/YangModelCmHandleRetriever.java index b1ac91d7a..0edd68c3d 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/YangModelCmHandleRetriever.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/api/impl/operations/YangModelCmHandleRetriever.java @@ -1,6 +1,7 @@ /* * ============LICENSE_START======================================================= * Copyright (C) 2021-2022 Nordix Foundation + * Modifications Copyright (C) 2021 Bell Canada * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +26,8 @@ import java.util.Map; import lombok.AllArgsConstructor; import org.onap.cps.api.CpsDataService; import org.onap.cps.ncmp.api.impl.yangmodels.YangModelCmHandle; +import org.onap.cps.ncmp.api.inventory.CompositeState; +import org.onap.cps.ncmp.api.inventory.CompositeStateBuilder; import org.onap.cps.ncmp.api.models.NcmpServiceCmHandle; import org.onap.cps.spi.FetchDescendantsOption; import org.onap.cps.spi.model.DataNode; @@ -53,11 +56,11 @@ public class YangModelCmHandleRetriever { final DataNode cmHandleDataNode = getCmHandleDataNode(cmHandleId); final NcmpServiceCmHandle ncmpServiceCmHandle = new NcmpServiceCmHandle(); ncmpServiceCmHandle.setCmHandleId(cmHandleId); - populateCmHandleProperties(cmHandleDataNode, ncmpServiceCmHandle); + populateCmHandleDetails(cmHandleDataNode, ncmpServiceCmHandle); return YangModelCmHandle.toYangModelCmHandle( - String.valueOf(cmHandleDataNode.getLeaves().get("dmi-service-name")), - String.valueOf(cmHandleDataNode.getLeaves().get("dmi-data-service-name")), - String.valueOf(cmHandleDataNode.getLeaves().get("dmi-model-service-name")), + (String) cmHandleDataNode.getLeaves().get("dmi-service-name"), + (String) cmHandleDataNode.getLeaves().get("dmi-data-service-name"), + (String) cmHandleDataNode.getLeaves().get("dmi-model-service-name"), ncmpServiceCmHandle ); } @@ -70,19 +73,24 @@ public class YangModelCmHandleRetriever { FetchDescendantsOption.INCLUDE_ALL_DESCENDANTS); } - private static void populateCmHandleProperties(final DataNode cmHandleDataNode, + private static void populateCmHandleDetails(final DataNode cmHandleDataNode, final NcmpServiceCmHandle ncmpServiceCmHandle) { final Map dmiProperties = new LinkedHashMap<>(); final Map publicProperties = new LinkedHashMap<>(); + final CompositeStateBuilder compositeStateBuilder = new CompositeStateBuilder(); + CompositeState compositeState = compositeStateBuilder.build(); for (final DataNode childDataNode: cmHandleDataNode.getChildDataNodes()) { if (childDataNode.getXpath().contains("/additional-properties[@name=")) { addProperty(childDataNode, dmiProperties); } else if (childDataNode.getXpath().contains("/public-properties[@name=")) { addProperty(childDataNode, publicProperties); + } else if (childDataNode.getXpath().endsWith("/state")) { + compositeState = compositeStateBuilder.fromDataNode(childDataNode).build(); } } ncmpServiceCmHandle.setDmiProperties(dmiProperties); ncmpServiceCmHandle.setPublicProperties(publicProperties); + ncmpServiceCmHandle.setCompositeState(compositeState); } private static void addProperty(final DataNode propertyDataNode, final Map propertiesAsMap) {