[MSO-8] Update the maven dependency
[so.git] / bpmn / MSOCommonBPMN / src / main / groovy / org / openecomp / mso / bpmn / common / scripts / VfModuleBase.groovy
  * ============LICENSE_END=========================================================
  */
 
-package com.att.bpm.scripts;
+package org.openecomp.mso.bpmn.common.scripts;
 
 //import groovy.util.Node;
 
-import java.util.concurrent.ExecutionException;
-
-import org.camunda.bpm.engine.delegate.BpmnError
-import org.camunda.bpm.engine.runtime.Execution
-import org.apache.commons.lang3.*
-
 import javax.xml.parsers.DocumentBuilder
 import javax.xml.parsers.DocumentBuilderFactory
 
+import org.apache.commons.lang3.*
+import org.camunda.bpm.engine.runtime.Execution
 import org.w3c.dom.Document
 import org.w3c.dom.Element
-import org.w3c.dom.NamedNodeMap
 import org.w3c.dom.Node
-import org.w3c.dom.NodeList;
+import org.w3c.dom.NodeList
 import org.xml.sax.InputSource
 
 
-import org.openecomp.mso.bpmn.core.WorkflowException
-
-
 public abstract class VfModuleBase extends AbstractServiceTaskProcessor {
        
        protected XmlParser xmlParser = new XmlParser()
@@ -312,11 +304,13 @@ public abstract class VfModuleBase extends AbstractServiceTaskProcessor {
                        String vnfNetworkSubNetId = ""
                        String vnfNetworkV6SubNetId = ""
                        String vnfNetworkNetFqdn = ""
+                       String vnfNetworksSriovVlanFilters = ""
                        StringBuilder sbNet = new StringBuilder()
                        StringBuilder sbNet2 = new StringBuilder()
                        StringBuilder sbNet3 = new StringBuilder()
                        StringBuilder sbNet4 = new StringBuilder()
                        StringBuilder sbNet5 = new StringBuilder()
+                       StringBuilder sbNet6 = new StringBuilder()
                        NodeList vnfNetworkList = responseXml.getElementsByTagNameNS("*", "vnf-networks")
                        for (int x = 0; x < vnfNetworkList.getLength(); x++) {
                                Node node = vnfNetworkList.item(x)
@@ -358,7 +352,32 @@ public abstract class VfModuleBase extends AbstractServiceTaskProcessor {
                                                <value>${vnfNetworkNetFqdnValue}</value>
                                </entry>"""
                                        vnfNetworkNetFqdn = sbNet4.append(vnfNetworkNetFqdnXml)
-                               }
+                                       
+                                       NodeList sriovVlanFilterList = eElement.getElementsByTagNameNS("*","sriov-vlan-filter-list")
+                                       StringBuffer sriovFilterBuf = new StringBuffer()
+                                       String values = ""
+                                       for(int i = 0; i < sriovVlanFilterList.getLength(); i++){
+                                               Node node1 = sriovVlanFilterList.item(i)
+                                               if (node1.getNodeType() == Node.ELEMENT_NODE) {
+                                                       Element eElement1 = (Element) node1
+                                                       String value = utils.getElementText(eElement1, "sriov-vlan-filter")
+                                                       if (i != sriovVlanFilterList.getLength() - 1) {
+                                                               values = sriovFilterBuf.append(value + ",")
+                                                       }
+                                                       else {
+                                                               values = sriovFilterBuf.append(value);
+                                                       }
+                                               }
+                                       }
+                                       if (!values.isEmpty()) {
+                                                       String vnfNetworkSriovVlanFilterXml =
+                                                                       """<entry>
+                                                               <key>${vnfNetworkKey}_ATT_VF_VLAN_FILTER</key>
+                                                               <value>${values}</value>
+                                                       </entry>"""
+                                                       vnfNetworksSriovVlanFilters = sbNet6.append(vnfNetworkSriovVlanFilterXml)
+                                               }
+                                       }
                        }
 
                        // VNF-VMS Data
@@ -480,7 +499,10 @@ public abstract class VfModuleBase extends AbstractServiceTaskProcessor {
                                                                Node interfaceRoutePrefix = interfaceRoutePrefixesList.item(a)                                                          
                                                                if (interfaceRoutePrefix.getNodeType() == Node.ELEMENT_NODE) {
                                                                        Element eElementInterfaceRoutePrefix = (Element) interfaceRoutePrefix
-                                                                       String interfaceRoutePrefixValue = utils.getElementText(eElementInterfaceRoutePrefix, "interface-route-prefix")
+                                                                       String interfaceRoutePrefixValue = utils.getElementText(eElementInterfaceRoutePrefix, "interface-route-prefix-cidr")
+                                                                       if (interfaceRoutePrefixValue == null || interfaceRoutePrefixValue.isEmpty()) {
+                                                                               interfaceRoutePrefixValue = utils.getElementText(eElementInterfaceRoutePrefix, "interface-route-prefix")
+                                                                       }
                                                                        if (a != interfaceRoutePrefixesList.getLength() - 1) {                                                                  
                                                                                interfaceRoutePrefixValues = sb3.append("{\"interface_route_table_routes_route_prefix\": \"" + interfaceRoutePrefixValue + "\"}" + ",")
                                                                        }
@@ -569,6 +591,7 @@ public abstract class VfModuleBase extends AbstractServiceTaskProcessor {
                ${vnfNetworkSubNetId}
                ${vnfNetworkV6SubNetId}
                ${vnfNetworkNetFqdn}
+               ${vnfNetworksSriovVlanFilters}
         ${vnfVMS}
         ${vnfVMSPositions}
                ${vmNetworks}