unsigned PortNumber

PortNumber class update
- internal representation now uses int
- toString() now converts the value as unsigned integer
- renamed value() to shortValue()
- added value() method returning port number as unsigned long
- added constructor from String
- JSON serialization now uses the new value(), so that special handling for
  unsigned integer is not required

Update classes using PortNumber
- Replaced value() calls with new value(), when the return value was
  converted to long immediately.
- toString() result may change if the object contained PortNumber.
  - e.g., FlowEntryAction, FlowEntry, SwitchPort, ...

Change-Id: I0b1f8aa92208e165b6113c8dd6954076c0513167
diff --git a/src/main/java/net/onrc/onos/core/topology/LinkEvent.java b/src/main/java/net/onrc/onos/core/topology/LinkEvent.java
index 831b407..00b4b90 100644
--- a/src/main/java/net/onrc/onos/core/topology/LinkEvent.java
+++ b/src/main/java/net/onrc/onos/core/topology/LinkEvent.java
@@ -146,8 +146,8 @@
 
     public static ByteBuffer getLinkID(Dpid srcDpid, PortNumber srcPortNo,
                                        Dpid dstDpid, PortNumber dstPortNo) {
-        return getLinkID(srcDpid.value(), (long) srcPortNo.value(),
-                         dstDpid.value(), (long) dstPortNo.value());
+        return getLinkID(srcDpid.value(), srcPortNo.value(),
+                         dstDpid.value(), dstPortNo.value());
     }
 
     public static ByteBuffer getLinkID(Long srcDpid, Long srcPortNo,