import org.w3c.dom.Document\r
import org.w3c.dom.Element\r
import org.xml.sax.InputSource\r
+import static org.apache.commons.lang3.StringUtils.*\r
\r
public class DoDeleteVfModuleFromVnf extends VfModuleBase {\r
\r
utils.logAudit("DoDeleteVfModuleFromVnf: AAI endPoint : " + endPoint)\r
\r
try {\r
- RESTConfig config = new RESTConfig(endPoint);\r
- def responseData = ''\r
- def aaiRequestId = UUID.randomUUID().toString()\r
- RESTClient client = new RESTClient(config).\r
- addHeader('X-TransactionId', aaiRequestId).\r
- addHeader('X-FromAppId', 'MSO').\r
- addHeader('Content-Type', 'application/xml').\r
- addHeader('Accept','application/xml');\r
- logDebug('sending GET to AAI endpoint \'' + endPoint + '\'', isDebugLogEnabled)\r
- APIResponse response = client.httpGet()\r
utils.logAudit("DoDeleteVfModuleFromVnf: - invoking httpGet to AAI")\r
+ APIResponse response = aaiUriUtil.executeAAIGetCall(execution, endPoint)\r
\r
- responseData = response.getResponseBodyAsString()\r
+ def responseData = response.getResponseBodyAsString()\r
execution.setVariable('DDVMFV_getVnfResponseCode', response.getStatusCode())\r
execution.setVariable('DDVMFV_getVnfResponse', responseData)\r
\r
execution.setVariable("DDVFMV_vnfVfModuleDeleteCompleted", true)\r
\r
// Parse vnfOutputs for contrail network polcy FQDNs\r
- if (vnfResponse.contains("vfModuleOutputs")) {\r
- def vfModuleOutputsXml = utils.getNodeXml(vnfResponse, "vfModuleOutputs")\r
- InputSource source = new InputSource(new StringReader(vfModuleOutputsXml));\r
- DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();\r
- docFactory.setNamespaceAware(true)\r
- DocumentBuilder docBuilder = docFactory.newDocumentBuilder()\r
- Document outputsXml = docBuilder.parse(source)\r
-\r
- NodeList entries = outputsXml.getElementsByTagNameNS("*", "entry")\r
+ def vfModuleOutputsXml = utils.getNodeXml(vnfResponse, "vfModuleOutputs")\r
+ if(!isBlank(vfModuleOutputsXml)) {\r
+ vfModuleOutputsXml = utils.removeXmlNamespaces(vfModuleOutputsXml)\r
List contrailNetworkPolicyFqdnList = []\r
- for (int i = 0; i< entries.getLength(); i++) {\r
- Node node = entries.item(i)\r
- if (node.getNodeType() == Node.ELEMENT_NODE) {\r
- Element element = (Element) node\r
- String key = element.getElementsByTagNameNS("*", "key").item(0).getTextContent()\r
- if (key.endsWith("contrail_network_policy_fqdn")) {\r
- String contrailNetworkPolicyFqdn = element.getElementsByTagNameNS("*", "value").item(0).getTextContent()\r
- logDebug("Obtained contrailNetworkPolicyFqdn: " + contrailNetworkPolicyFqdn, isDebugLogEnabled)\r
- contrailNetworkPolicyFqdnList.add(contrailNetworkPolicyFqdn)\r
- }\r
- else if (key.equals("oam_management_v4_address")) {\r
- String oamManagementV4Address = element.getElementsByTagNameNS("*", "value").item(0).getTextContent()\r
- logDebug("Obtained oamManagementV4Address: " + oamManagementV4Address, isDebugLogEnabled)\r
- execution.setVariable(Prefix + "oamManagementV4Address", oamManagementV4Address)\r
- }\r
- else if (key.equals("oam_management_v6_address")) {\r
- String oamManagementV6Address = element.getElementsByTagNameNS("*", "value").item(0).getTextContent()\r
- logDebug("Obtained oamManagementV6Address: " + oamManagementV6Address, isDebugLogEnabled)\r
- execution.setVariable(Prefix + "oamManagementV6Address", oamManagementV6Address)\r
- }\r
-\r
+ for(Node node: utils.getMultNodeObjects(vfModuleOutputsXml, "entry")) {\r
+ String key = utils.getChildNodeText(node, "key")\r
+ if(key == null) {\r
+ \r
+ } else if (key.endsWith("contrail_network_policy_fqdn")) {\r
+ String contrailNetworkPolicyFqdn = utils.getChildNodeText(node, "value")\r
+ logDebug("Obtained contrailNetworkPolicyFqdn: " + contrailNetworkPolicyFqdn, isDebugLogEnabled)\r
+ contrailNetworkPolicyFqdnList.add(contrailNetworkPolicyFqdn)\r
+ }\r
+ else if (key.equals("oam_management_v4_address")) {\r
+ String oamManagementV4Address = utils.getChildNodeText(node, "value")\r
+ logDebug("Obtained oamManagementV4Address: " + oamManagementV4Address, isDebugLogEnabled)\r
+ execution.setVariable(Prefix + "oamManagementV4Address", oamManagementV4Address)\r
+ }\r
+ else if (key.equals("oam_management_v6_address")) {\r
+ String oamManagementV6Address = utils.getChildNodeText(node, "value")\r
+ logDebug("Obtained oamManagementV6Address: " + oamManagementV6Address, isDebugLogEnabled)\r
+ execution.setVariable(Prefix + "oamManagementV6Address", oamManagementV6Address)\r
}\r
}\r
if (!contrailNetworkPolicyFqdnList.isEmpty()) {\r