Sho SHIMIZU
Committed by Brian O'Connor

Fix bug that inconsistency happens in long value and name in PortNumber

The case is like the underlying name is "2", but long value is 0.

This fix relates to ONOS-2082.

Change-Id: I702ed91563296d38980dc6895fafb18aecaa26f8
...@@ -517,13 +517,20 @@ class ConfigProvider implements DeviceProvider, LinkProvider, HostProvider { ...@@ -517,13 +517,20 @@ class ConfigProvider implements DeviceProvider, LinkProvider, HostProvider {
517 String portName = text.substring(i + 1); 517 String portName = text.substring(i + 1);
518 DeviceId deviceId = deviceId(text.substring(0, i)); 518 DeviceId deviceId = deviceId(text.substring(0, i));
519 519
520 - long portNum = 0L;
521 for (Port port : deviceService.getPorts(deviceId)) { 520 for (Port port : deviceService.getPorts(deviceId)) {
522 PortNumber pn = port.number(); 521 PortNumber pn = port.number();
523 if (pn.name().equals(portName)) { 522 if (pn.name().equals(portName)) {
524 return new ConnectPoint(deviceId, pn); 523 return new ConnectPoint(deviceId, pn);
525 } 524 }
526 } 525 }
526 +
527 + long portNum;
528 + try {
529 + portNum = Long.parseLong(portName);
530 + } catch (NumberFormatException e) {
531 + portNum = 0;
532 + }
533 +
527 return new ConnectPoint(deviceId, portNumber(portNum, portName)); 534 return new ConnectPoint(deviceId, portNumber(portNum, portName));
528 } 535 }
529 536
......