@Override public CiscoAsa1000vDevice assignAsa1000vToNetwork(Network network) { List<CiscoAsa1000vDeviceVO> asaList = _ciscoAsa1000vDao.listByPhysicalNetwork(network.getPhysicalNetworkId()); for (CiscoAsa1000vDeviceVO asa : asaList) { NetworkAsa1000vMapVO assignedToNetwork = _networkAsa1000vMapDao.findByAsa1000vId(asa.getId()); if (assignedToNetwork == null) { NetworkAsa1000vMapVO networkAsaMap = new NetworkAsa1000vMapVO(network.getId(), asa.getId()); _networkAsa1000vMapDao.persist(networkAsaMap); return asa; } } return null; }
@Override public CiscoAsa1000vResourceResponse createCiscoAsa1000vResourceResponse( CiscoAsa1000vDevice ciscoAsa1000vDeviceVO) { CiscoAsa1000vResourceResponse response = new CiscoAsa1000vResourceResponse(); response.setId(ciscoAsa1000vDeviceVO.getUuid()); response.setManagementIp(ciscoAsa1000vDeviceVO.getManagementIp()); response.setInPortProfile(ciscoAsa1000vDeviceVO.getInPortProfile()); NetworkAsa1000vMapVO networkAsaMap = _networkAsa1000vMapDao.findByAsa1000vId(ciscoAsa1000vDeviceVO.getId()); if (networkAsaMap != null) { response.setGuestNetworkId(networkAsaMap.getNetworkId()); } return response; }
@Override public boolean deleteCiscoAsa1000vResource(DeleteCiscoAsa1000vResourceCmd cmd) { Long asaResourceId = cmd.getCiscoAsa1000vResourceId(); CiscoAsa1000vDeviceVO asaResource = _ciscoAsa1000vDao.findById(asaResourceId); if (asaResource == null) { throw new InvalidParameterValueException( "Could not find a Cisco ASA 1000v appliance with id " + asaResourceId); } NetworkAsa1000vMapVO networkAsaMap = _networkAsa1000vMapDao.findByAsa1000vId(asaResource.getId()); if (networkAsaMap != null) { throw new CloudRuntimeException( "Cisco ASA 1000v appliance with id " + asaResourceId + " cannot be deleted as it is associated with guest network"); } _ciscoAsa1000vDao.remove(asaResourceId); return true; }