예제 #1
0
  /**
   * TODO
   *
   * @param virtualNetworkId TODO
   * @param virtualNodeId TODO
   * @param virtualPort TODO
   * @param physicalNode TODO
   * @return TODO
   */
  private PhysicalPort virtualPortMapping(
      VirtualNetworkId virtualNetworkId,
      VirtualNodeId virtualNodeId,
      VirtualPort virtualPort,
      PhysicalNode physicalNode)
      throws VNMappingException {
    if (VirtualPort.PortType.Internal == virtualPort.getPortType()) {
      return null;
    }

    List<PhysicalPort> physicalPorts = physicalNode.getPhysicalPort();
    List<PhysicalResourceRequirement> physicalResourceRequirements =
        virtualPort.getPhysicalResourceRequirement();

    for (PhysicalPort physicalPort : physicalPorts) {
      if (PhysicalPort.PortType.External == physicalPort.getPortType()
          && checkPhysicalPortSatisfied(physicalPort, physicalResourceRequirements)) {
        return physicalPort;
      }
    }

    return null;
  }