def get_data(self):
     request = self.request
     try:
         gw_port = self._get_gateway_port_data()
         gw_vlans = neutron.nuage_gateway_vlan_list(
             self.request, gw_port.id)
         vlans = []
         for vlan in gw_vlans:
             if vlan.get('vport'):
                 dict = vlan.to_dict()
                 vport = neutron.nuage_gateway_vport_get(request,
                                                         vlan['vport'])
                 dict['vport'] = vport
                 if vport and vport.get('subnet'):
                     subnet = neutron.subnet_get(request,
                                                 vport.get('subnet'))
                     dict['subnet'] = subnet
                     if vport.get('port'):
                         try:
                             port = neutron.port_get(request,
                                                    vport['port'])
                             dict['port'] = port
                         except Exception:
                             dict['port'] = None
                 vlan = neutron.NuageGatewayVlan(dict)
             vlans.append(vlan)
     except Exception:
         vlans = []
         msg = _('Nuage Gateway Vlan list can not be retrieved.')
         exceptions.handle(request, msg)
     return vlans
 def get_initial(self):
     gw_vlan = self._get_object()
     gw_port = neutron.nuage_gateway_port_get(
         self.request, gw_vlan.get('gatewayport'))
     gw_vport = None
     if gw_vlan.get('vport'):
         gw_vport = neutron.nuage_gateway_vport_get(
             self.request, gw_vlan['vport'])
     return {"gw_vlan_id": self.kwargs['gw_vlan_id'],
             "gw_port": gw_port,
             "vlan_range": gw_port['vlan'],
             "vlan": gw_vlan.get('value'),
             "assigned": gw_vlan.get('assigned'),
             "type": gw_vport.get('type').lower() if gw_vport else None,
             "subnet_id": gw_vport.get('subnet') if gw_vport else None,
             "port_id": gw_vport.get('port') if gw_vport else None}