PortNumber fixes

- hide new PortNumber(short) and use PortNumber.uint16 instead
- added utility to get PortNumber

Change-Id: Ia39fbe6e7126a3d9465d3035a06850c1d54a7f25
diff --git a/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java b/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
index 9f6373d..a5e3bd9 100644
--- a/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
+++ b/src/main/java/net/onrc/onos/core/hostmanager/HostManager.java
@@ -29,6 +29,7 @@
 import net.onrc.onos.core.topology.Topology;
 import net.onrc.onos.core.util.Dpid;
 import net.onrc.onos.core.util.PortNumber;
+import net.onrc.onos.core.util.PortNumberUtils;
 
 import org.projectfloodlight.openflow.protocol.OFMessage;
 import org.projectfloodlight.openflow.protocol.OFPacketIn;
@@ -121,11 +122,13 @@
     protected Command processPacketIn(IOFSwitch sw, OFPacketIn pi, Ethernet eth,
             short inport) {
         if (log.isTraceEnabled()) {
-            log.trace("Receive PACKET_IN swId {}, portId {}", sw.getId(), pi.getInPort());
+            log.trace("Receive PACKET_IN swId {}, portId {}", sw.getId(), inport);
         }
 
         final Dpid dpid = new Dpid(sw.getId());
-        final PortNumber portNum = new PortNumber(inport);
+        // FIXME method signature needs to be fixed. losing port number precision
+        final PortNumber portNum = PortNumberUtils
+                            .openFlow(sw.getOFVersion(), inport);
 
         Host srcHost =
                 getSourceHostFromPacket(eth, dpid.value(), portNum.value());