* limitations under the License.
* ============LICENSE_END=====================================================
*/
+
package org.onap.pomba.contextaggregator.datatypes;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParser;
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.UUID;
+
import org.onap.pomba.common.datatypes.ModelContext;
import org.onap.pomba.contextaggregator.config.EventHeaderConfig;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.annotations.Expose;
-import com.google.gson.annotations.SerializedName;
public class AggregatedModels {
Header entityHeader;
@Expose
@SerializedName("entity")
- POAEntity poaEntity;
-
+ PoaEntity poaEntity;
/**
- * Creates an event with an entity header and entity containing the models and poa-event from Dmaap
+ * Creates an event with an entity header and entity containing the models and
+ * poa-event from Dmaap.
*
- * @param headerConfig
- * @param jsonContextMap
+ * @param headerConfig The event header config
+ * @param jsonContextMap The context map
+ * @param event The POA Event
*/
public AggregatedModels(EventHeaderConfig headerConfig, Map<String, String> jsonContextMap, POAEvent event) {
entityHeader = new Header(headerConfig);
Gson gson = new GsonBuilder().create();
Map<String, ModelContext> contextMap = new HashMap<>();
+ List<String> errorTexts = new ArrayList<>();
+
for (Entry<String, String> entry : jsonContextMap.entrySet()) {
ModelContext context = null;
if (entry.getValue().isEmpty()) {
context = new ModelContext();
} else {
context = gson.fromJson(entry.getValue(), ModelContext.class);
+ JsonParser parser = new JsonParser();
+ JsonElement jsonElement = parser.parse(entry.getValue());
+ errorTexts.addAll(extractErrors(entry.getKey(), jsonElement));
}
contextMap.put(entry.getKey(), context);
}
- poaEntity = new POAEntity(contextMap, event);
+ if (errorTexts.isEmpty()) {
+ event.setDataQualitySummary(DataQualitySummary.ok());
+ } else {
+ // Fill the errors:
+ event.setDataQualitySummary(DataQualitySummary.error(errorTexts));
+ }
+
+ poaEntity = new PoaEntity(contextMap, event);
}
+ /**
+ * Recursive method to find all the dataQuality errors in the JsonElement.
+ * @param errorPath Path to the current element
+ * @param jsonElement The json element
+ * @return list of error strings extracted from the json element and it's children.
+ */
+ private static List<String> extractErrors(String errorPath, JsonElement jsonElement) {
+ List<String> errorTexts = new ArrayList<>();
+ if (jsonElement.isJsonArray()) {
+ JsonArray jsonArray = jsonElement.getAsJsonArray();
+ for (int i = 0; i < jsonArray.size(); i++) {
+ JsonElement indexElement = jsonArray.get(i);
+ errorTexts.addAll(extractErrors(errorPath + "[" + i + "]", indexElement));
+ }
+ } else if (jsonElement.isJsonObject()) {
+ JsonObject jsonObject = jsonElement.getAsJsonObject();
+ extractErrorsFromJsonObject(errorPath, errorTexts, jsonObject);
+ }
+
+ return errorTexts;
+ }
+
+ private static void extractErrorsFromJsonObject(String errorPath, List<String> errorTexts, JsonObject jsonObject) {
+ for (Entry<String, JsonElement> entrySet : jsonObject.entrySet()) {
+ if ("dataQuality".equals(entrySet.getKey())) {
+ JsonElement dqElement = entrySet.getValue();
+
+ JsonObject dqObject = dqElement.getAsJsonObject();
+ JsonElement dqStatusElement = dqObject.get("status");
+ if (dqStatusElement == null) {
+ continue;
+ }
+ String statusValue = dqStatusElement.getAsString();
+
+ if ("error".equals(statusValue)) {
+ JsonElement dqErrorTextElement = dqObject.get("errorText");
+ if (dqErrorTextElement != null) {
+ String errorTextValue = dqErrorTextElement.getAsString();
+ errorTexts.add(errorPath + ": " + errorTextValue);
+ }
+ }
+ } else {
+ // recursive call to extract errors from other JsonElements:
+ errorTexts.addAll(extractErrors(errorPath + "/" + entrySet.getKey(), entrySet.getValue()));
+ }
+ }
+ }
/**
- * Returns this instance as a JSON payload
+ * Returns this instance as a JSON payload.
*
* @return
*/
public String generateJsonPayload() {
Gson gson = new GsonBuilder().create();
- String payload = gson.toJson(this);
- return payload;
+ return gson.toJson(this);
}
public Header getEntityHeader() {
return entityHeader;
}
-
-
/**
- * Entity header class for JSON serialization
+ * Entity header class for JSON serialization.
*/
private class Header {
@Expose
topicName = config.getTopicName();
eventId = UUID.randomUUID().toString();
}
-
-
- public String getId() {
- return id;
- }
-
- public String getDomain() {
- return domain;
- }
-
- public String getSourceName() {
- return sourceName;
- }
-
- public String getEventType() {
- return eventType;
- }
-
- public String getEntityType() {
- return entityType;
- }
-
- public String getTopEntityType() {
- return topEntityType;
- }
-
- public String getTopicName() {
- return topicName;
- }
-
- public String getEventId() {
- return eventId;
- }
}
-
- private class POAEntity {
+ private class PoaEntity {
@Expose
@SerializedName("poa-event")
POAEvent event;
@SerializedName("context-list")
private Map<String, ModelContext> contextMap;
- public POAEntity(Map<String, ModelContext> contextMap, POAEvent event) {
+ public PoaEntity(Map<String, ModelContext> contextMap, POAEvent event) {
this.contextMap = contextMap;
this.event = event;
}
--- /dev/null
+{\r
+ "service": {\r
+ "uuid": "PombaDemoCust_001-ServiceInst-001",\r
+ "name": "PombaDemoCust_001-ServiceInst-001-name",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error1"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "hostName",\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error1.1"\r
+ }\r
+ }\r
+ ]\r
+ },\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error2"\r
+ },\r
+ "attributeList": [],\r
+ "vnfList": [\r
+ {\r
+ "uuid": "PombaDemoCust_001-VNF-id-001-2",\r
+ "name": "Firewall-2",\r
+ "type": "vFW-vSINK-service/vFWvSINK 0",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error3"\r
+ },\r
+ "attributeList": [],\r
+ "vfModuleList": [\r
+ {\r
+ "uuid": "PombaDemoCust_001-VNF-id-001-VfModule001",\r
+ "name": "PombaDemoCust_001-VNF-id-001-VfModule001-name",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "modelCustomizationUUID": "3b822416-475d-4e1c-aac3-2544b0a0fdfc",\r
+ "maxInstances": 1,\r
+ "minInstances": 0,\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error4"\r
+ },\r
+ "attributeList": [],\r
+ "vmList": [\r
+ {\r
+ "uuid": "a6a609e3-967a-48bd-8ce5-41c7ff5c19b9-2",\r
+ "name": "Firewall-001-2",\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error5"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "hostName",\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error6"\r
+ }\r
+ },\r
+ {\r
+ "name": "lockedBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "imageId",\r
+ "value": "PombaRegion001-image001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "pServer": {\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [],\r
+ "pInterfaceList": []\r
+ },\r
+ "lInterfaceList": []\r
+ }\r
+ ],\r
+ "networkList": [\r
+ {\r
+ "uuid": "2ea02809-7279-4b5e-931a-62b231615497",\r
+ "name": "NET_1105",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error7"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error8"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591130123",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ },\r
+ {\r
+ "uuid": "01e8d84a-17a6-47b5-a167-6a45d1d56603",\r
+ "name": "NET_1106",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591133012",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ }\r
+ ]\r
+ }\r
+ ],\r
+ "vnfcList": [],\r
+ "networkList": [\r
+ {\r
+ "uuid": "2ea02809-7279-4b5e-931a-62b231615497",\r
+ "name": "NET_1105",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591130123",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ },\r
+ {\r
+ "uuid": "01e8d84a-17a6-47b5-a167-6a45d1d56603",\r
+ "name": "NET_1106",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591133012",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ }\r
+ ]\r
+ },\r
+ {\r
+ "uuid": "PombaDemoCust_001-VNF-id-001",\r
+ "name": "Firewall-1",\r
+ "type": "vFW-vSINK-service/vFWvSINK 0",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "nfNamingCode",\r
+ "value": "nf-naming-code1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "nfType",\r
+ "value": "nf-type1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "nfRole",\r
+ "value": "nf-role1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "nfFunction",\r
+ "value": "nf-function1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "vfModuleList": [\r
+ {\r
+ "uuid": "PombaDemoCust_001-VNF-id-001-VfModule001",\r
+ "name": "PombaDemoCust_001-VNF-id-001-VfModule001-name",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "modelCustomizationUUID": "3b822416-475d-4e1c-aac3-2544b0a0fdfc",\r
+ "maxInstances": 1,\r
+ "minInstances": 0,\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [],\r
+ "vmList": [\r
+ {\r
+ "uuid": "a6a609e3-967a-48bd-8ce5-41c7ff5c19b9",\r
+ "name": "Firewall-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "hostName",\r
+ "value": "PombaDemoCust_001-pserver-id-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "lockedBoolean",\r
+ "value": "false",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "imageId",\r
+ "value": "PombaRegion001-image001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "pServer": {\r
+ "uuid": "PombaDemoCust_001-pserver-id-001",\r
+ "name": "PombaDemoCust_001-pserver-id-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "lockedBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "name2",\r
+ "value": "PombaDemoCust_001-pserver-id-001-name2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipType",\r
+ "value": "equip-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipVendor",\r
+ "value": "equip-vendor-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipModel",\r
+ "value": "equip-model-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "serialNumber",\r
+ "value": "serial-number",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "fqdn",\r
+ "value": "fqdn-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591242783",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "ptniiName",\r
+ "value": "ptnii-equip-name-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "topology",\r
+ "value": "internet-topology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "purpose",\r
+ "value": "purpose-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "pInterfaceList": [\r
+ {\r
+ "name": "interface-name-pserver1-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "lockedBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceRole",\r
+ "value": "interface-role-pserver1-1",\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error9"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceType",\r
+ "value": "interface-type-pserver1-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedValue",\r
+ "value": "100",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedUnits",\r
+ "value": "Mbps",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "portDescription",\r
+ "value": "port-description-pserver1-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591243386",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipmentID",\r
+ "value": "equipment-identifier-pnf1-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "physicalLinkList": [],\r
+ "logicalLinkList": []\r
+ },\r
+ {\r
+ "name": "interface-name-pserver1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "lockedBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceRole",\r
+ "value": "interface-role-pserver1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceType",\r
+ "value": "interface-type-pserver1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedValue",\r
+ "value": "1000",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedUnits",\r
+ "value": "Mbps",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "portDescription",\r
+ "value": "port-description-pserver1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591243407",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipmentID",\r
+ "value": "equipment-identifier-pserver1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "physicalLinkList": [],\r
+ "logicalLinkList": []\r
+ }\r
+ ]\r
+ },\r
+ "lInterfaceList": []\r
+ }\r
+ ],\r
+ "networkList": [\r
+ {\r
+ "uuid": "2ea02809-7279-4b5e-931a-62b231615497",\r
+ "name": "NET_1105",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591130123",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ },\r
+ {\r
+ "uuid": "01e8d84a-17a6-47b5-a167-6a45d1d56603",\r
+ "name": "NET_1106",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591133012",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ }\r
+ ]\r
+ }\r
+ ],\r
+ "vnfcList": [],\r
+ "networkList": [\r
+ {\r
+ "uuid": "2ea02809-7279-4b5e-931a-62b231615497",\r
+ "name": "NET_1105",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591130123",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ },\r
+ {\r
+ "uuid": "01e8d84a-17a6-47b5-a167-6a45d1d56603",\r
+ "name": "NET_1106",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591133012",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ }\r
+ ]\r
+ }\r
+ ],\r
+ "pnfList": [\r
+ {\r
+ "uuid": "PombaDemoCust_001-PNF2-id-001-id",\r
+ "name": "PombaDemoCust_001-PNF2-id-001",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "error",\r
+ "errorText": "error10"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "nfRole",\r
+ "value": "nf-role-2",\r
+ "dataQuality": {\r
+ "status": "error"\r
+ }\r
+ },\r
+ {\r
+ "name": "name2",\r
+ "value": "PombaDemoCust_001-PNF2-id-001-name2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipType",\r
+ "value": "equip-type-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipVendor",\r
+ "value": "equip-vendor-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipModel",\r
+ "value": "equip-model-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "swVersion",\r
+ "value": "sw-version-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "serialNumber",\r
+ "value": "serial-number-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591234748",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "name2Source",\r
+ "value": "pnf2-name2-source-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "managementOptions",\r
+ "value": "management-option-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "frameId",\r
+ "value": "frame-id-02",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "pInterfaceList": [\r
+ {\r
+ "uuid": "equipment-identifier-pnf2-1",\r
+ "name": "interface-name-pnf2-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "lockedBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceRole",\r
+ "value": "interface-role-pnf2-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceType",\r
+ "value": "interface-type-pnf2-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedValue",\r
+ "value": "100",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedUnits",\r
+ "value": "Mbps",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "portDescription",\r
+ "value": "port-description-pnf2-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591235395",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipmentID",\r
+ "value": "equipment-identifier-pnf2-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "physicalLinkList": [],\r
+ "logicalLinkList": []\r
+ },\r
+ {\r
+ "uuid": "equipment-identifier-pnf2-2",\r
+ "name": "interface-name-pnf2-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "lockedBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceRole",\r
+ "value": "interface-role-pnf2-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceType",\r
+ "value": "interface-type-pnf2-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedValue",\r
+ "value": "1000",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedUnits",\r
+ "value": "Mbps",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "portDescription",\r
+ "value": "port-description-pnf2-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591235633",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipmentID",\r
+ "value": "equipment-identifier-pnf2-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "physicalLinkList": [],\r
+ "logicalLinkList": []\r
+ }\r
+ ]\r
+ },\r
+ {\r
+ "uuid": "PombaDemoCust_001-PNF-id-001-id",\r
+ "name": "PombaDemoCust_001-PNF-id-001",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "nfRole",\r
+ "value": "nf-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "name2",\r
+ "value": "PombaDemoCust_001-PNF-id-001-name2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipType",\r
+ "value": "equip-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipVendor",\r
+ "value": "equip-vendor-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipModel",\r
+ "value": "equip-model-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "swVersion",\r
+ "value": "sw-version-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "serialNumber",\r
+ "value": "serial-number-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591220149",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "name2Source",\r
+ "value": "pnf-name2-source-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "managementOptions",\r
+ "value": "management-option-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "frameId",\r
+ "value": "frame-id-01",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "pInterfaceList": [\r
+ {\r
+ "uuid": "equipment-identifier-pnf1-1",\r
+ "name": "interface-name-pnf1-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "lockedBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceRole",\r
+ "value": "interface-role-pnf1-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceType",\r
+ "value": "interface-type-pnf1-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedValue",\r
+ "value": "100",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedUnits",\r
+ "value": "Mbps",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "portDescription",\r
+ "value": "port-description-pnf1-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591221599",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipmentID",\r
+ "value": "equipment-identifier-pnf1-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "physicalLinkList": [],\r
+ "logicalLinkList": []\r
+ },\r
+ {\r
+ "uuid": "equipment-identifier-pnf1-2",\r
+ "name": "interface-name-pnf1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "lockedBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceRole",\r
+ "value": "interface-role-pnf1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "interfaceType",\r
+ "value": "interface-type-pnf1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedValue",\r
+ "value": "1000",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "speedUnits",\r
+ "value": "Mbps",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "portDescription",\r
+ "value": "port-description-pnf1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591222076",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "equipmentID",\r
+ "value": "equipment-identifier-pnf1-2",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "physicalLinkList": [],\r
+ "logicalLinkList": []\r
+ }\r
+ ]\r
+ }\r
+ ],\r
+ "networkList": [\r
+ {\r
+ "uuid": "2ea02809-7279-4b5e-931a-62b231615497",\r
+ "name": "NET_1105",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591130123",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ },\r
+ {\r
+ "uuid": "01e8d84a-17a6-47b5-a167-6a45d1d56603",\r
+ "name": "NET_1106",\r
+ "modelVersionID": "pomba-demo-sdc-model-001-version001",\r
+ "modelInvariantUUID": "pomba-demo-sdc-model-001",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ },\r
+ "attributeList": [\r
+ {\r
+ "name": "networkType",\r
+ "value": "network-type-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkTechnology",\r
+ "value": "network-technology-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "sharedNetworkBoolean",\r
+ "value": "true",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "networkRole",\r
+ "value": "network-role-1",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ },\r
+ {\r
+ "name": "resourceVersion",\r
+ "value": "1550591133012",\r
+ "dataQuality": {\r
+ "status": "ok"\r
+ }\r
+ }\r
+ ],\r
+ "networkPolicyList": []\r
+ }\r
+ ]\r
+}
\ No newline at end of file