/** * TODO * * @param virtualNetworkId TODO * @param virtualLink TODO * @param userVnPnMapping TODO * @return TODO */ private PhysicalPath virtualLinkMapping( VirtualNetworkId virtualNetworkId, VirtualLink virtualLink, UserVnPnMapping userVnPnMapping) throws VNMappingException { List<VnPnMappingResult> vnPnMappingResults = userVnPnMapping.getVnPnMappingResult(); VnPnMappingResult vnPnMappingResult = VNMappingUnitUtils.getVnPnMappingResult( vnPnMappingResults, new VirtualResourceEntityId(virtualLink.getSrcNodeId().getValue())); if (null == vnPnMappingResult) { throw new VNMappingException( "Can not get the vn-pn mapping result for " + "the virtual node " + virtualLink.getSrcNodeId().getValue()); } PhysicalNodeId source = new PhysicalNodeId(vnPnMappingResult.getPhysicalResourceEntityId().getValue()); vnPnMappingResult = VNMappingUnitUtils.getVnPnMappingResult( vnPnMappingResults, new VirtualResourceEntityId(virtualLink.getDestNodeId().getValue())); if (null == vnPnMappingResult) { throw new VNMappingException( "Can not get the vn-pn mapping result for " + "the virtual node " + virtualLink.getDestNodeId().getValue()); } PhysicalNodeId target = new PhysicalNodeId(vnPnMappingResult.getPhysicalResourceEntityId().getValue()); if (source.equals(target)) { PhysicalPath physicalPath = new PhysicalPathBuilder() .setPathId(new PhysicalPathId(UUID.randomUUID().toString())) .setPhysicalLink( new ArrayList< org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.generic .physical.network.rev151010.physical.path.instance.PhysicalLink>(0)) .setMetric(0L) .setBandwidth(virtualLink.getBandwidth()) .setDelay(0L) .build(); return physicalPath; } PhysicalPath physicalPath; if (0 == virtualLink.getBandwidth()) { physicalPath = pnComputationUnit.computePath(source, target); } else { physicalPath = pnComputationUnit.computePath(source, target, virtualLink.getBandwidth()); } return physicalPath; }
@org.junit.Test public void testGetVirtualLink() throws Exception { when(virtualLink.getSrcNodeId()).thenReturn(srcVirtualNodeId); when(virtualLink.getDestNodeId()).thenReturn(destVirtualNodeId); Assert.assertEquals( intentResolverUtils.getVirtualLink(virtualLinkList, srcVirtualNodeId, destVirtualNodeId), virtualLink); }