Renamed devicemanager, flowprogrammer, linkdiscovery and util packages

net.onrc.onos.ofcontroller.devicemanager.* => net.onrc.onos.core.devicemanager.*
net.onrc.onos.ofcontroller.flowprogrammer.* => net.onrc.onos.core.flowprogrammer.*
net.onrc.onos.ofcontroller.linkdiscovery.* => net.onrc.onos.core.linkdiscovery.*
net.onrc.onos.ofcontroller.util.* => net.onrc.onos.core.util.*

Change-Id: Iaa865af552e8fb3a589e73d006569ac79f5a0f08
diff --git a/src/main/java/net/onrc/onos/core/util/SwitchPort.java b/src/main/java/net/onrc/onos/core/util/SwitchPort.java
new file mode 100644
index 0000000..edc8905
--- /dev/null
+++ b/src/main/java/net/onrc/onos/core/util/SwitchPort.java
@@ -0,0 +1,109 @@
+package net.onrc.onos.core.util;
+
+import org.codehaus.jackson.annotate.JsonProperty;
+
+/**
+ * The class representing a Switch-Port.
+ */
+public class SwitchPort {
+    private Dpid dpid;		// The DPID of the switch
+    private Port port;		// The port of the switch
+
+    /**
+     * Default constructor.
+     */
+    public SwitchPort() {
+    }
+
+    /**
+     * Constructor for a given DPID and a port.
+     *
+     * @param dpid the DPID to use.
+     * @param port the port to use.
+     */
+    public SwitchPort(Dpid dpid, Port port) {
+	this.dpid = dpid;
+	this.port = port;
+    }
+
+    /**
+     * Get the DPID value of the Switch-Port.
+     *
+     * @return the DPID value of the Switch-Port.
+     */
+    @JsonProperty("dpid")
+    public Dpid dpid() { return dpid; }
+
+    /**
+     * Set the DPID value of the Switch-Port.
+     *
+     * @param dpid the DPID to use.
+     */
+    @JsonProperty("dpid")
+    public void setDpid(Dpid dpid) {
+	this.dpid = dpid;
+    }
+
+    /**
+     * Get the port value of the Switch-Port.
+     *
+     * @return the port value of the Switch-Port.
+     */
+    @JsonProperty("port")
+    public Port port() { return port; }
+
+    /**
+     * Set the port value of the Switch-Port.
+     *
+     * @param port the port to use.
+     */
+    @JsonProperty("port")
+    public void setPort(Port port) {
+	this.port = port;
+    }
+
+    /**
+     * Set the DPID and port values of the Switch-Port.
+     *
+     * @param dpid the DPID to use.
+     * @param port the port to use.
+     */
+    public void setValue(Dpid dpid, Port port) {
+	this.dpid = dpid;
+	this.port = port;
+    }
+
+    /**
+     * Convert the Switch-Port value to a string.
+     *
+     * The string has the following form:
+     *  01:02:03:04:05:06:07:08/1234
+     *
+     * @return the Switch-Port value as a string.
+     */
+    @Override
+    public String toString() {
+	return this.dpid.toString() + "/" + this.port;
+    }
+    
+
+    @Override
+    public boolean equals(Object other) {
+    	if (!(other instanceof SwitchPort)) {
+    		return false;
+    	}
+
+    	SwitchPort otherSwitchPort = (SwitchPort) other;
+
+    	return (dpid.equals(otherSwitchPort.dpid) &&
+    			port.equals(otherSwitchPort.port));
+    }
+
+    @Override
+    public int hashCode() {
+    	int hash = 17;
+    	hash += 31 * hash + dpid.hashCode();
+    	hash += 31 * hash + port.hashCode();
+    	return hash;
+    }
+}