import lombok.AccessLevel;
import lombok.NoArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.onap.cps.ncmp.api.impl.inventory.CompositeState;
+import org.onap.cps.ncmp.api.impl.inventory.CompositeStateBuilder;
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.model.DataNode;
(String) cmHandleDataNode.getLeaves().get("dmi-service-name"),
(String) cmHandleDataNode.getLeaves().get("dmi-data-service-name"),
(String) cmHandleDataNode.getLeaves().get("dmi-model-service-name"),
- ncmpServiceCmHandle
- );
- }
-
- /**
- * This method convert cm handle data node to yang model cm handle without using NcmpServiceCmHandle.
- *
- * @param cmHandleDataNode the datanode of the cm handle
- * @param cmHandleId the id of the cm handle
- * @return yang model cm handle
- */
- public static YangModelCmHandle convertCmHandleToYangModelWithoutNcmpServiceCmHandle(
- final DataNode cmHandleDataNode,
- final String cmHandleId) {
- final Map<String, String> dmiProperties = new LinkedHashMap<>();
- final Map<String, String> 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();
- }
- }
- return YangModelCmHandle.toYangModelCmHandleWithoutNcmpServiceHandle(
- (String) cmHandleDataNode.getLeaves().get("dmi-service-name"),
- (String) cmHandleDataNode.getLeaves().get("dmi-data-service-name"),
- (String) cmHandleDataNode.getLeaves().get("dmi-model-service-name"),
- cmHandleId,
- dmiProperties,
- publicProperties,
- compositeState
+ ncmpServiceCmHandle,
+ (String) cmHandleDataNode.getLeaves().get("module-set-tag")
);
}
final Collection<YangModelCmHandle> yangModelCmHandles = new ArrayList<>(cmHandleDataNodes.size());
cmHandleDataNodes.forEach(dataNode -> {
final String cmHandleId = extractCmHandleIdFromXpath(dataNode.getXpath());
- if (cmHandleId != null) {
- yangModelCmHandles.add(convertCmHandleToYangModelWithoutNcmpServiceCmHandle(dataNode, cmHandleId));
- }
+ yangModelCmHandles.add(convertCmHandleToYangModel(dataNode, cmHandleId));
});
return yangModelCmHandles;
}
- private static String extractCmHandleIdFromXpath(final String xpath) {
+ /**
+ * This method extract cm handle id from xpath of data node.
+ * @param xpath for data node of the cm handle
+ * @return cm handle Id
+ */
+ public static String extractCmHandleIdFromXpath(final String xpath) {
final Matcher matcher = cmHandleIdInXpathPattern.matcher(xpath);
- if (matcher.find()) {
- return matcher.group(1);
- } else {
- log.error("Unexpected xpath {}", xpath);
- }
- return null;
+ matcher.find();
+ return matcher.group(1);
}